我似乎無法讓我的主要方法正常工作,因爲它應該100%。這很好,但我需要修復一個循環問題。while while循環重複方法
我的主要目標是在用戶輸入任何數字> = 1時讓程序重複方法pathCalc(),並在用戶輸入0時結束程序。但是,當用戶輸入> = 1重複該程序時,程序會重複,但當它詢問用戶是否重複或退出時,並且用戶輸入0退出時,程序會重複方法pathCalc()而不是退出。
我如何得到這個方法重複工作後,讓用戶輸入> = 1重複的方法或0退出?
import java.util.Scanner;
public class AssignmentArrays{
static int[] data = new int [6];
public static void getIDs(){
Scanner seg = new Scanner(System.in);
int[] data = new int [6];
data[0] = 0;
data[1] = 0;
data[2] = 0;
data[3] = 0;
data[4] = 0;
data[5] = 0;
/* Segment values */
System.out.println("Enter cost for segment 0:");
data[0] = seg.nextInt();
System.out.println("Enter cost for segment 1:");
data[1] = seg.nextInt();
System.out.println("Enter cost for segment 2::");
data[2] = seg.nextInt();
System.out.println("Enter cost for segment 3:");
data[3] = seg.nextInt();
System.out.println("Enter cost for segment 4:");
data[4] = seg.nextInt();
System.out.println("Enter cost for segment 5:");
data[5] = seg.nextInt();
}
public static void pathCalc(){
/* Path inputs */
Scanner node1 = new Scanner(System.in);
int pathCost;
System.out.println("Enter ID of segment 0 of path:");
int node1value = node1.nextInt();
System.out.println("Enter ID of segment 1 of path:");
int node2value = node1.nextInt();
System.out.println("Enter ID of segment 2 of path:");
int node3value = node1.nextInt();
/* Path cost calculation */
pathCost = data[node1value] + data[node2value] + data[node3value];
System.out.println("The cost of the trip is: $" + pathCost);
}
public static void main(String[] args){
getIDs();
pathCalc();
System.out.println("Enter 0 to exit or any other number"+
" to evaluate another path:");
int choice;
choice = end.nextInt();
while(choice != 0){
getIDs();
pathCalc();
System.out.println("Enter 0 to exit or any other number"+
" to evaluate another path:");
choice = end.nextInt();
}
}
}
這並不實現什麼我需要做檢查前的選擇。我有兩個方法在主方法之前執行。首先,程序需要讀取用戶輸入的數組getIDs();,然後程序要求用戶輸入3個ID來計算價格pathCalc();然後詢問用戶他/她想要做什麼,計算另一條路徑或退出。如果輸入> = 1,則pathCalc();.在這個用戶再次被詢問是否對pathCalc();或退出。 – Kronos
@Kronos:我更新了答案。希望它可以像你期望的那樣工作,否則,請分享你的'pathCalc();'和'getIDs();'方法摘要,這將幫助我更好地理解你的問題。 –
我更新了我的問題。我有兩個例外。希望你現在能更好地理解。 – Kronos