Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如何从输入类调用值?_Java - Fatal编程技术网

在java中,如何从输入类调用值?

在java中,如何从输入类调用值?,java,Java,我不知道如何将一个变量从一个方法带到另一个方法中使用,特别是从输入类。例如,此测试程序不起作用。我该怎么做 下面是我的主要类(main.java): class Main { public static void main(String args[]) { Input f = new Input(); f.inputting(num1, num2, num3); } } import java.io.*; class Input {

我不知道如何将一个变量从一个方法带到另一个方法中使用,特别是从输入类。例如,此测试程序不起作用。我该怎么做

下面是我的主要类(main.java):

class Main
{
   public static void main(String args[])
   {
        Input f = new Input();
        f.inputting(num1, num2, num3);
   }
}
import java.io.*;

class Input
{
     void inputting(int number1, int number2, int number3)
   {
    Console d = System.console();

    String a = d.readLine("Enter 1st number:");
    String b = d.readLine("Enter 2nd number:");
    String c = d.readLine("Enter 3rd number:");

    int num1 = Integer.parseInt(a);
    int num2 = Integer.parseInt(b);
    int num3 = Integer.parseInt(c);

    Sort e = new Sort();
    e.sorting(num1, num2, num3);
   }
 }
class Sort
{
  void sorting(int number1, int number2, int number3)
  { 
  if (number1 > number2) {
    int temp = number1;
    number1 = number2;
    number2 = temp;
  }

  if (number2 > number3) {
    int temp = number2;
    number2 = number3;
    number3 = temp;
  }

  if (number1 > number2) {
    int temp = number1;
    number1 = number2;
    number2 = temp;
  }

   System.out.println("\nThe sorted numbers in ascending order are "
    + number1 + " " + number2 + " " + number3);
  }

  }
和我的输入类(input.java):

class Main
{
   public static void main(String args[])
   {
        Input f = new Input();
        f.inputting(num1, num2, num3);
   }
}
import java.io.*;

class Input
{
     void inputting(int number1, int number2, int number3)
   {
    Console d = System.console();

    String a = d.readLine("Enter 1st number:");
    String b = d.readLine("Enter 2nd number:");
    String c = d.readLine("Enter 3rd number:");

    int num1 = Integer.parseInt(a);
    int num2 = Integer.parseInt(b);
    int num3 = Integer.parseInt(c);

    Sort e = new Sort();
    e.sorting(num1, num2, num3);
   }
 }
class Sort
{
  void sorting(int number1, int number2, int number3)
  { 
  if (number1 > number2) {
    int temp = number1;
    number1 = number2;
    number2 = temp;
  }

  if (number2 > number3) {
    int temp = number2;
    number2 = number3;
    number3 = temp;
  }

  if (number1 > number2) {
    int temp = number1;
    number1 = number2;
    number2 = temp;
  }

   System.out.println("\nThe sorted numbers in ascending order are "
    + number1 + " " + number2 + " " + number3);
  }

  }
和我的排序类(sort.java):

class Main
{
   public static void main(String args[])
   {
        Input f = new Input();
        f.inputting(num1, num2, num3);
   }
}
import java.io.*;

class Input
{
     void inputting(int number1, int number2, int number3)
   {
    Console d = System.console();

    String a = d.readLine("Enter 1st number:");
    String b = d.readLine("Enter 2nd number:");
    String c = d.readLine("Enter 3rd number:");

    int num1 = Integer.parseInt(a);
    int num2 = Integer.parseInt(b);
    int num3 = Integer.parseInt(c);

    Sort e = new Sort();
    e.sorting(num1, num2, num3);
   }
 }
class Sort
{
  void sorting(int number1, int number2, int number3)
  { 
  if (number1 > number2) {
    int temp = number1;
    number1 = number2;
    number2 = temp;
  }

  if (number2 > number3) {
    int temp = number2;
    number2 = number3;
    number3 = temp;
  }

  if (number1 > number2) {
    int temp = number1;
    number1 = number2;
    number2 = temp;
  }

   System.out.println("\nThe sorted numbers in ascending order are "
    + number1 + " " + number2 + " " + number3);
  }

  }

您正在使用
f.input(num1、num2、num3)将参数传递到
input
,但您从未在main中声明过
num1
num2
num3


如果您的目的是从
inputing
方法中进行用户输入,则不需要
inputing
方法的参数,因此您可以执行
f.inputing()void input()

这就是它应该做的

class Main
{
   public static void main(String args[])
   {
        int num1=1;
        int num2=2;
        int num1=3;
        Input f = new Input();
        f.inputting(num1, num2, num3);
   }
}
此外,如果!,您应该使用ELSE!,如果没有,它可以进入3个如果

if (number1 > number2) {
    int temp = number1;
    number1 = number2;
    number2 = temp;
  }

  else if (number2 > number3) {
    int temp = number2;
    number2 = number3;
    number3 = temp;
  }

  else if (number1 > number2) {
    int temp = number1;
    number1 = number2;
    number2 = temp;
  }

您需要设置子类或其他类使用的全局变量,也可以从类中调用该变量,如下所示:

班长

class Main
{
   public static void main(String args[])
   {
        Static int number1;
        Static int number2;
        Static int number3;

        Input f = new Input();
        f.inputting(number1, number2, number3);
  }
}
类输入

int Main.number1 = Integer.parseInt(a);
int Main.number2 = Integer.parseInt(b);
int Main.number3 = Integer.parseInt(c); 

为什么要将三个参数传递给
输入
?它们根本没有被使用。您正在发送包信息。它们在同一个包裹里吗?你犯了什么错误?此外,由于未定义main中的
num1
etc,因此此代码不会编译。