我的代码出了什么问题?我是编程新手,所以即使我的代码可以运行,我在这里也可能会遇到一些问题。不过,我的代码似乎没有运行。显示的错误是粘贴在这篇文章的底部。
String name, streetname, barangay, city, region;
int zipcode, streetno;
void display() {
System.out.println("Name: " + this.name);
System.out.println("Street No: " + this.streetno);
System.out.println("Street: " + this.streetname);
System.out.println("Barangay: " + this.barangay);
System.out.println("City : " + this.city);
System.out.println("Region: " + this.region);
System.out.println("Zip Code : " + this.zipcode);
}
}
class residentinfo {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Virual rsd = new Virual();
System.out.println("Enter Name: ");
rsd.name = in.nextLine();
System.out.println("Enter Street No: ");
rsd.streetno = in.nextInt();
System.out.println("Enter Street Name: ");
rsd.streetname = in.nextLine();
System.out.println("Enter Barangay: ");
rsd.barangay = in.nextLine();
System.out.println("Enter City: ");
rsd.city = in.nextLine();
System.out.println("Enter Region: ");
rsd.region = in.nextLine();
System.out.println("Enter Zip Code: ");
rsd.zipcode = in.nextInt();
rsd.display();
}
}我的代码出了什么问题?当我运行它的时候,这个错误出现了。我的代码似乎没有运行,但它已经运行了。
java.lang.NoSuchMethodException: Practice.Virual.main [class [Ljava.lang.String;] at java.lang.Class.getMethod(Class.java:2072)
at java.lang.Class.getDeclaredMethod(Class.java:2050)
at com.duy.android.compiler.java.Java.run(Java.java:105)
at com.duy.ide.javaide.run.activities.ExecuteActivity.executeDex(ExecuteActivity.java:147)
at com.duy.ide.javaide.run.activities.ExecuteActivity.exec(ExecuteActivity.java:124)
at com.duy.ide.javaide.run.activities.ExecuteActivity.access$100(ExecuteActivity.java:45)
at com.duy.ide.javaide.run.activities.ExecuteActivity$1.run(ExecuteActivity.java:88)
at java.lang.Thread.run(Thread.java:923发布于 2021-10-14 07:44:39
有几件事你应该用你的代码来修复。一般来说,Java中的类名都是以大写字母开头的。您应该为您的变量使用getter和setter,以获得最佳实践。此外,您不能使用当前代码读取streetName,因为当您调用in.nextInt()方法时,它不会使用换行符。此外,为了获得最佳实践,您应该使用camelCase作为变量名。
这里有一个更好的方法来处理你的代码。
public class Virual {
private String name;
private String streetName;
private String barangay;
private String city;
private String region;
private int zipcode;
private int streetNo;
public Virual() {
}
@Override
public String toString() {
return String.format("Name: %s Street No: %d Street: %s Barangay: %s City : %s Region: %s Zip Code : %d", name, streetNo, streetName, barangay, city, region, zipcode);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStreetName() {
return streetName;
}
public void setStreetName(String streetName) {
this.streetName = streetName;
}
public String getBarangay() {
return barangay;
}
public void setBarangay(String barangay) {
this.barangay = barangay;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public int getZipcode() {
return zipcode;
}
public void setZipcode(int zipcode) {
this.zipcode = zipcode;
}
public int getStreetNo() {
return streetNo;
}
public void setStreetNo(int streetNo) {
this.streetNo = streetNo;
}
}
public class ResidentInfo {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Virual rsd = new Virual();
System.out.println("Enter Name: ");
rsd.setName(in.nextLine());
System.out.println("Enter Street No: ");
rsd.setStreetNo(in.nextInt());
in.nextLine(); //to consume /n character (new line)
/*if you don't put in.nextLine after in.nextInt , in.nextInt method don't read newline char
so you can't enter value for street name
*/
System.out.println("Enter Street Name: ");
rsd.setStreetName(in.nextLine());
System.out.println("Enter Barangay: ");
rsd.setBarangay(in.nextLine());
System.out.println("Enter City: ");
rsd.setCity(in.nextLine());
System.out.println("Enter Region: ");
rsd.setRegion(in.nextLine());
System.out.println("Enter Zip Code: ");
rsd.setZipcode(in.nextInt());
System.out.println(rsd.toString());
}
}https://stackoverflow.com/questions/69566494
复制相似问题