[英]how to pass class object as variable as constructor parameter in another class?
我有一個名為 Fullname 的類,其中包含變量 fname、mname 和 lname。 然后另一個類 Participant 具有 Fullname 類型的變量名稱,int 類型的標記。 在另一個類中,我必須創建大小為 5 的 Participant 數組,並且必須存儲來自用戶輸入的信息。
我的問題是如何讀取 Fullname 變量的值,然后將其作為構造函數參數傳遞。 在使用掃描儀時,它給出了無法從字符串轉換為全名的錯誤。
我沒有得到 Fullname 變量的正確輸出
public class Participant {
fullname name;
int rollno;
float marks;
public Participant(fullname nameFullname, int rollno, float marks) {
super();
this.name=new fullname(null, null, null);
this.rollno = rollno;
this.marks = marks;
}
@Override
public String toString() {
return "name=" + name + ", rollno=" + rollno + ", marks=" + marks + "";
}
}
public class Implements {
public static void main(String[] args) {
String a = null, b = null, c = null;
int rollno = 0;
float marks = 0;
Participant part[] = new Participants[5];
Scanner sc = new Scanner(System.in);
rollno = sc.nextInt();
marks = sc.nextFloat();
a = sc.next();
b = sc.next();
c = sc.next();
Fullname name = new Fullname(a, b, c);
part[1] = new Participant(name, rollno, marks);
System.out.println(part[1].toString());
}
}
sc.next()
正在返回一個String
( http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#next() )並且您正試圖將它分配給一個Fullname
對象。 Fullname
不是 String 的實例,因此它無效。 如果你想做這個任務,你需要實現一個函數來為你處理。
part=new participants(name,rollno,marks)
不起作用,因為您將 part 聲明為一個數組,並且您正在嘗試將Participants
分配給它。 (順便說一下,該類應該用大寫字母聲明)。 如果要分配它,請添加索引。 (例如part[0] = new participants(name,rollno,marks)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.