【发布时间】:2016-01-24 11:31:47
【问题描述】:
对不起,如果我犯了一些愚蠢的错误。我正在做一项学校作业,我应该创建一个问题跟踪程序。每个问题必须由一个对象表示,并且这些对象必须存储在一个 ArrayList 中。必须有一个菜单,用户可以在其中选择创建新问题、将创建的问题标记为已解决、查看已解决和未解决的问题。每当我输入一个新对象时,我制作的 ArrayList 都无法正确存储对象,所有其他对象都更改为我输入的对象,我被困在这个...任何帮助将不胜感激!谢谢!
这是我的代码(我认为问题始于“if (option == 1)”):
public static void main(String[] args) {
int option = 0;
Scanner input = new Scanner(System.in);
ArrayList<IssueTracking> myIssueList = new ArrayList<>();
IssueTracking issueNum = new IssueTracking();
mainMenu();
option = input.nextInt();
while (option != 1 && option != 2 && option != 3 && option != 4 && option != 0){
System.out.println("Invalid option, please choose 1, 2, 3, 4 or 0 in the menu.");
mainMenu();
option = input.nextInt();
}
while(option !=0){
while (option != 1 && option != 2 && option != 3 && option != 4 && option != 0){
System.out.println("Invalid option, please choose 1, 2, 3, 4 or 0 in the menu.");
mainMenu();
option = input.nextInt();
}
if (option == 1){
System.out.println("Please describe the issue bellow: ");
String issueDescription = input.nextLine();
issueDescription = input.nextLine();
issueNum.setIssueDescription(issueDescription);
issueNum.setIsSolved(Boolean.FALSE );
myIssueList.add(issueNum);
System.out.println(myIssueList.toString().replace("[", "").replace("]", "").replace(",", ""));
returnMenu();
mainMenu();
option = input.nextInt();
}
if (option == 2){
System.out.println("Please press 1 to mark the issue as solved: ");
Boolean isSolved = input.nextBoolean();
issueNum.setIsSolved(isSolved);
myIssueList.add(issueNum);
//System.out.println("\n"+myIssueList.toString().replace("[", "").replace("]", ""));
returnMenu();
mainMenu();
option = input.nextInt();
}
if (option == 3){
//View unsolved issues.
System.out.println(myIssueList);
returnMenu();
mainMenu();
option = input.nextInt();
}
if (option == 4){
//View solved issues.
System.out.println(issueNum.getIssueDeString()+issueNum.getIsSolved());
returnMenu();
mainMenu();
option = input.nextInt();
}
}
}
}
问题类:
public class IssueTracking {
private String issueDescription;
private Boolean issueSolved;
public void setIssueDescription(String issueDescription){
this.issueDescription = issueDescription;
}
public String getIssueDeString(){
return issueDescription;
}
public void setIsSolved (Boolean issueSolved){
this.issueSolved = issueSolved;
}
public Boolean getIsSolved() {
return issueSolved;
}
public String toString(){
return "The issue is: " + getIssueDeString() +"\n"+ "The issue is solved: " + getIsSolved()+"\n"; //
}
【问题讨论】:
-
选项 4 不查看列表,它只查看一个对象