[英]Objects in Java is printing out junk
我的程序是一個簡單的程序,涉及對象的使用。 沒有錯誤,唯一的問題是我的程序正在打印垃圾。 在它詢問用戶名稱、年齡和性別之后。
下面是兩組程序。 第一個是物體或人的骨架。 第二個是打印詢問用戶名年齡性別並打印出來。
public class Person
{
private String name;
private int age,personality,appearance;
private String gender;
//constructor method. only use it once
public Person(String nm, int ag,String gend) {
name=nm;
age=ag;
gend=gender;
personality=1+(int)(Math.random()*10);
appearance=1+(int)(Math.random()*10);
}
//accessor created
public String getName() {
return name;
}
public String getGend() {
return gender;
}
public int getInt() {
return age;
}
//mutator method. When using "void" NO RETURN TYPE
public void setName (String nm) {
name=nm;
}
public void setAge (int ag) {
age=ag;
}
public void setGender (String gend)
{
gender=gend;
}
//helper method (kind of like print but not really printing
public String toString () {
String orange ="";
orange ="Name "+name+"/n";
orange +="age"+age+"/n";
orange +="Gender: "+gender"/n";
orange +="Personality "+personality+"/n";
orange +="Apperance "+appearance+"/n";
return orange;
}
}
2)
import java .util.Scanner;
public class PersonTester {
public static void main (String []args){
// calling person
Person person;
String name="", gender ="";
int age =0;
Scanner input =new Scanner(System.in);
System.out.println ("What is your name");
name =input.nextLine();
System.out.println("What your age?");
age=input.nextInt();
input.nextLine();
System.out.println ("What is your gender");
gender =input.nextLine();
person=new Person (name,age,gender);
System.out.println(person);
}
我們正在學習基本對象,例如我們只學習了私有變量、構造函數、訪問器、修改器和輔助方法。
在您的 toString() 中,您有兩個錯誤。 您需要在gender"/n"
之間使用+
gender"/n"
並且如果您想要換行符,則需要使用\\n
。
public String toString () {
return "Name " + name + "\n" +
"Age" + age + "\n" +
"Gender: " + gender + "\n" +
"Personality " + personality + "\n" +
"Appearance " + appearance + "\n";
}
如果問題是性別沒有正確打印出來,則問題出在您的構造函數中。 您正在傳遞gend
,但沒有保存它。 相反,您用gender
成員變量覆蓋參數:
public Person(String nm, int ag,String gend)
{
name=nm;
age=ag;
gend=gender;
你自找的:
gender = gend;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.