我想用Java创建一个程序,它基于用户输入 - 找到输入形状的区域。但我未能实现这一点。
这是我的剧本:
import java.util.Scanner;
public class area {
static Scanner advance = new Scanner(System.in);
public void main(String[] args) {
nu();
}
int length;
int height;
int area;
public void nu(){
String message = advance.nextLine();
if (message.equalsIgnoreCase("rectangle")){
System.out.println("Enter the length of the rectangle: ");
length = advance.nextInt();
//length declared.//
System.out.println("Enter the height of the rectangle");
height = advance.nextInt();
//Height has been declared.//
area = length * height;
System.out.print("The area is: " + area);
}
}
}
第一个问题是,这段代码没有运行,所以我不知道它是否正常工作。所有其他的事情都很好。你能告诉我,我做错了吗?
答案 0 :(得分:1)
您需要将static
添加到main方法并创建area
的新实例。请参阅下面的代码。
public class area {
static Scanner advance = new Scanner(System.in);
public static void main(String[] args) {
new area().nu();
}
int length;
int height;
int area;
public void nu(){
String message = advance.nextLine();
if (message.equalsIgnoreCase("rectangle")){
System.out.println("Enter the length of the rectangle: ");
length = advance.nextInt();
//length declared.//
System.out.println("Enter the height of the rectangle");
height = advance.nextInt();
//Height has been declared.//
area = length * height;
System.out.print("The area is: " + area);
}
}
}
答案 1 :(得分:1)
static
添加到程序的main method
。您无法直接从nu()
调用main
方法,因为它是instance method
来调用它,您需要创建一个对象你的班级。
public static void main(String[] args) {
area a = new area();
a.nu();
}
另一个替代方法是,您可以将nu()
方法设为静态,但之后您将无法直接在int length;int height;int area;
中使用static method nu()
个实例变量。然后你需要使这些变量也是静态的,或者创建一个类的对象,然后根据需要使用这些变量。
答案 2 :(得分:0)
由于Java程序无法找到运行的主要方法: 我们需要根据您的代码在3个地方添加静态关键字。
请尝试使用以下完整源代码:
import java.util.Scanner;
public class area {
static Scanner advance = new Scanner(System.in);
public static void main(String[] args) { //1st change
nu();
}
static int length; //2nd change
static int height; //2nd change
static int area; //2nd change
public static void nu(){ //3rd change
String message = advance.nextLine();
if (message.equalsIgnoreCase("rectangle")){
System.out.println("Enter the length of the rectangle: ");
length = advance.nextInt();
//length declared.//
System.out.println("Enter the height of the rectangle");
height = advance.nextInt();
//Height has been declared.//
area = length * height;
System.out.print("The area is: " + area);
}
}
}