Java 根据用户输入查找输入形状的区域
我想用Java创建一个程序,它根据用户输入查找输入形状的区域。但我没能做到这一点 这是我的剧本:Java 根据用户输入查找输入形状的区域,java,Java,我想用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()
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);
}
}
}
第一个问题是,这段代码没有运行,所以我不知道它是否工作。其他一切都很好。你能告诉我,我做错了什么吗?你需要在main方法中添加
static
,并创建区域的新实例。请参阅下面的代码
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);
}
}
}
由于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);
}
}
}
您需要将静态
添加到程序的主方法
您将无法从main
直接调用nu()
方法,因为调用它是实例方法,您需要创建类的对象
public static void main(String[] args) {
area a = new area();
a.nu();
}
另一种选择是,您可以将nu()
方法设置为静态,但这样就不能使用int-length;内部高度;内部区域直接在静态方法nu()
中编码>实例变量。然后,您需要使这些变量也是静态的,或者创建类的对象,然后根据需要使用这些变量
将static
放回main
和nu
声明:如果您是这里的新用户,我告诉您,如果您得到问题的解决方案,您应该在这里接受答案。这有助于其他人了解什么对你有用。要接受答案,只需单击要选择的答案左侧的右勾号。