2016-12-26 78 views
-2

我正在嘗試這個總線座位預留代碼,並在此處的某處找到此代碼。我想知道你能否幫我改變結果。輸入的座位將是「R」,而不是0。Java中的總線座位預留代碼修正

我對Java並不熟悉。

import java.io.*; 
public class busseatreservation { 

public static void printRow(int[] row) { 
    for (int i : row) { 
     System.out.print(i); 
     System.out.print("\t"); 
    } 
    System.out.println(); 
} 

public static void main(String[] args)throws Exception { 
BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
int twoDm[][]= new int[5][7]; 
    int i,j,k=1; 
    double ans; 

    for(i=0;i<5;i++) { 
     for(j=0;j<7;j++) { 
      twoDm[i][j]=k; 
      k++; 
     } 
    } 

    for(int[] row : twoDm) { 
     printRow(row); 
    } 

    for (int l = 0; l < 5; l++) { 
     System.out.print("Enter a Seat number to reserve: "); 
     ans = Integer.parseInt(br.readLine()); 
     k = 1; 
     for(i=0;i<5;i++) { 
      for(j=0;j<7;j++) { 
       if (k == ans) { 
        if (twoDm[i][j]== 0) { 
         System.out.println("That seat has already been reserved"); 
        } 
        else { 
         twoDm[i][j]= 0; 
        } 
       } 
       k++; 
      } 
     } 
     for(int[] row : twoDm) { 
      printRow(row); 
     } 
    } 

} 
} 
+0

你的代碼中唯一的方法是main,它沒有返回值。你必須更具體地說明你正在談論的結果。 – Aaron

回答

0

首先你把你的元素放在整數數組中。所以這個數組的元素'R'是不可能的。要寫'R',你應該把你的元素放在一個字符串數組中。你應該使用數字作爲字符串。使用這種方法,字母和數字都可以是數組的元素。

另一種解決方案,這是不好的,如果相應的元素爲0就可以打印R.

另一點是;如果用戶輸入一個預留的座位,你的程序只會發出警告5次。你應該檢查一下。

晚上好。

+0

我不明白。你能用代碼來展示它嗎? –