在java中,如何从输入类调用值?
我不知道如何将一个变量从一个方法带到另一个方法中使用,特别是从输入类。例如,此测试程序不起作用。我该怎么做 下面是我的主要类(main.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 {
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,因此此代码不会编译。