正確,模糊,因爲該主題可能已經讓我首先承認這是一個家庭作業相關的問題。所以,如果你對這些問題有一些樂趣仇恨,應該警告。讓對象記住同類型的下一個對象
雖然我一直坐在那裏好幾個小時,但我已經很尷尬地不知道「還沒有得到它」。
所以我希望你們中的一些人能告訴我我失蹤的事情。
我想創建一個類,它存儲一個變量,並記住該類的下一個對象。
以下是我的主類:
public class SticksAndStones {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String response = "n";
Stick currentStick = null;
int numberOfSticks = 0;
while (response.equals("n")) {
System.out.println("What diameter should the stick have?");
response = Integer.toString(scan.nextInt());
currentStick = new Stick(Integer.parseInt(response), currentStick);
numberOfSticks++;
System.out.println("Are you done adding sticks? ('n' or 'y')");
response = scan.next();
while (!response.equals("y") && !response.equals("n")) {
System.out.println("Please type 'y' for yes, or 'n' for no.");
response = scan.next();
}
}
for (int i = 0; i < numberOfSticks; i++) {
System.out.println(currentStick.getDiameter());
currentStick = currentStick.getNext();
}
}
}
我的棒類的樣子:
public class Stick {
int diameter;
Stick stick;
public Stick(int diameter, Stick stick) {
this.diameter = diameter;
this.stick = stick;
}
public int getDiameter() {
return diameter;
}
public Stick getNextStick() {
return stick;
}
現在你可以看到,我的課似乎能記住以前的棒,但不下一個以任何方式。
這是一個問題的原因,是因爲在我的SticksAndStones類的底部,我嘗試打印出每個伸出部分的直徑,但它們沒有以正確的順序出來。換句話說,第一根棍子最後出來,最後一根棍子先出來。
我不需要。我需要他們以相反的方式出來。首先堅持下去,如同第一次堅持。
我們在這個任務中唯一的限制就是我們不能使用任何形式的數組,列表,表格或數據庫。
我錯過了一些令人難以置信的簡單的東西嗎?
PS:會使用「家庭作業」標籤,但它不允許。
UPDATE
新SticksAndStones類:
import java.util.Scanner;
public class SticksAndStones {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String response = "n";
int numberOfSticks = 0;
Stick firstStick = null;
Stick currentStick = null;
;
Stick prevStick = null;
while (response.equals("n")) {
System.out.println("What diameter should the stick have?");
response = Integer.toString(scan.nextInt());
if (firstStick == null) {
firstStick = new Stick(Integer.parseInt(response));
prevStick = firstStick;
} else {
currentStick = new Stick(Integer.parseInt(response));
prevStick.setNextStick(currentStick);
prevStick = currentStick;
}
numberOfSticks++;
System.out.println("Are you done adding sticks? ('n' or 'y')");
response = scan.next();
while (!response.equals("y") && !response.equals("n")) {
System.out.println("Please type 'y' for yes, or 'n' for no.");
response = scan.next();
}
}
currentStick = firstStick;
for (int i = 0; i < numberOfSticks; i++) {
System.out.println(currentStick.getDiameter());
currentStick = currentStick.getNextStick();
}
}
}
我的棒類:
public class Stick {
int diameter;
Stick stick;
Stick nextStick;
public Stick(int diameter, Stick stick) {
this.diameter = diameter;
this.stick = stick;
}
public Stick(int diameter) {
this.diameter = diameter;
}
public int getDiameter() {
return diameter;
}
public Stick getNextStick() {
return stick;
}
public void setNextStick(Stick nextStick) {
this.nextStick = nextStick;
}
}
一個微笑,一個擁抱誰可以告訴我爲什麼我打一個空指針異常。
也許添加兩個引用? '堅持prevStick'和'堅持nextStick' – gtgaxiola 2014-10-01 17:10:31
@gtgaxiola這將如何幫助?我在這些事情上有點慢,所以你可能會展示我如何使用它來使它工作? – ViRALiC 2014-10-01 17:11:27
@ViRALiC lol「家庭作業」標籤實際上是一個很好的建議... – Alboz 2014-10-01 17:11:37