[英]Issue with constructor in java
我最近才開始學習Java,因此請原諒我,如果這是一個愚蠢的問題,我在3個文件中有3個類。 第一
package PLAYLIST1;
public class Utwor {
private String tytul1;
private String wykonawca2;
private Integer rok3;
Utwor(String x, String y, Integer z){
x=tytul1;
y=wykonawca2;
z=rok3;
}
public String tytul(){
return tytul1;
}
public String wykonawca(){
return wykonawca2;
}
public Integer rok(){
return rok3;
}
public void piosenka(){
System.out.println(tytul1+" ("+wykonawca2+") ["+rok3+"]");
}
}
第二
package PLAYLIST1;
import java.util.Arrays;
class Playlist {
//ArrayList<String> listaUtworow;
Utwor[] listaU = new Utwor[3];
private String lista;
private int ileJuzJest = 0;
Playlist(String nazwaListy) {
//listaUtworow = new ArrayList<String>();
lista = nazwaListy;
}
public String Nazwa() {
return lista;
}
public void dodajUtwor(String tytul, String album, Integer rok) {
listaU[ileJuzJest] = new Utwor(tytul,album ,rok);
ileJuzJest++;
System.out.println("Dodano utwór: '"+tytul+"' do listy: "+lista);
}
public void wyswietlListe() {
if (ileJuzJest==0) {
System.out.println("Lista jest pusta");
}
System.out.println("Utwory z listy "+lista+":");
for (int i=0; i<ileJuzJest; i++) {
listaU[i].piosenka();
}
}
}
最后與主要
package PLAYLIST1;
public class ZarzadzaniePlaylistami {
public static void main(String[] args) {
Playlist p1 = new Playlist("Rock");
Playlist p2 = new Playlist("Pop");
System.out.println(p1.Nazwa());
System.out.println(p2.Nazwa());
p1.dodajUtwor("Stockholm Syndrome","Absolution",2004);
p1.dodajUtwor("Absolution","Going to Hell",2014);
p1.dodajUtwor("Loud Like Love","Loud Like Love",2013);
p2.dodajUtwor("Blank Space","A",2014);
p2.dodajUtwor("Sugar","B",2013);
p2.dodajUtwor("Budapest","C",2012);
p1.wyswietlListe();
p2.wyswietlListe();
}
}
當我運行程序時,結果是:
Rock
Pop
Dodano utwór: 'Stockholm Syndrome' do listy: Rock
Dodano utwór: 'Absolution' do listy: Rock
Dodano utwór: 'Loud Like Love' do listy: Rock
Dodano utwór: 'Blank Space' do listy: Pop
Dodano utwór: 'Sugar' do listy: Pop
Dodano utwór: 'Budapest' do listy: Pop
Utwory z listy Rock:
null (null) [null]
null (null) [null]
null (null) [null]
Utwory z listy Pop:
null (null) [null]
null (null) [null]
null (null) [null]
為什么這些變量不保存在Utwor類中? 我已經為此苦苦掙扎一個小時了,我不會自己解決它,請幫忙。
在向字段(空)分配參數變量時,在Utwor構造函數中向后分配:
Utwor(String x, String y, Integer z){
x=tytul1;
y=wykonawca2;
z=rok3;
}
相反,您應該將參數分配給字段,因此應該是:
Utwor(String x, String y, Integer z){
tytul1 = x;
wykonawca2 = y;
rok3 = z;
}
有趣的是,您可以在“播放列表”類中找到它。
順便問一句,問題很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.