我有以下课程:
class Area
{
//Get User Input for classes
int length;
int width;
public Area(int x,int y)
{
length = x;
width = y;
}
public int getArea() {
return width * length;
}
public static void main(String[] args)
{
Area folk = new Area(4,5);
System.out.println("Area of 4 * 5 is: " + folk.getArea());
}
}
我有另一个用于获取用户输入的类:
import java.util.Scanner;
class Incoming
{
public static void main(String[] args)
{
Scanner reader = new Scanner(System.in);
System.out.println("Enter the first number");
//get user input for a
int a = reader.nextInt();
System.out.println("Input Value Is: " + a);
}
}
在第一堂课中,我希望用户提供输入而不是预定义的值(即Area folk = new Area(4,5)
)
怎么办呢?
答案 0 :(得分:1)
看起来您正在寻找一种方法来使用程序中其他位置Incoming
中提供的输入。
为此,请移动代码以从main
方法中获取输入。在Incoming
中声明一个返回int
并将其放在那里的新方法。
然后,在main
的{{1}}方法中,创建Area
的实例并调用新方法获取Incoming
。这样做两次,然后将结果值传递给int
构造函数。
答案 1 :(得分:0)
我不确定为什么你的两个班级都有一个主。也许我误解了一些东西,但这会以你想要的方式修复它(我想)。
class Area
{
//Get User Input for classes
int length;
int width;
public Area(int x,int y)
{
length = x;
width = y;
}
public int getArea() {
return width * length;
}
public static void main(String[] args)
{
int x, y;
Incoming inc = new Incoming();
x = inc.getInt();
y = inc.getInt();
Area folk = new Area(x,y);
System.out.println("Area of " + x + " * " + y + " is: "
+ folk.getArea());
}
}
另一堂课:
import java.util.Scanner;
class Incoming
{
public static int getInt(String[] args)
{
Scanner reader = new Scanner(System.in);
System.out.println("Enter the first number");
//get user input for a
int a = reader.nextInt();
return a;
}
}
答案 2 :(得分:0)
怎么样:
扫描仪阅读器=新扫描仪(System.in);
Area folk = new Area(reader.nextInt(),reader.nextInt());
的System.out.println(folk.getArea());