2016-09-27 59 views
-1

我想在輸入位置後立即獲取字符串,但它不起作用,我無法確定原因。 這是我的代碼。通過輸入地址找到二維數組中的值

import java.util.*; 
public class LabTest1_Mardi { 
public static void main (String [] args){ 
    Scanner input = new Scanner (System.in); 

    String myArray [][] = { {"a","b"}, {"c","d"}, {"e","f"}, {"g","h"}}; 

    //Getting row and cols 
    int rows = myArray.length; 
    int cols = myArray[0].length; 
    System.out.println("Rows = "+rows+" Cols = "+cols); 

    for (int x=0;x<rows;x++){ 
     for (int y =0;y<cols;y++){ 
      System.out.println("array "+x+" " + y + " : = "+myArray[x][y]); 
     } 
    } 

    System.out.println("Enter Possition row : "); 
    int posR = input.nextInt(); 
    System.out.println("Enter Possition col : "); 
    int posC = input.nextInt(); 

    System.out.println(myArray[posR+1][posC+1]); 



    input.close(); 
    } 
} 
+0

您是否記得使用'Scanner'類? (即'掃描儀輸入=新的掃描儀(System.in);' – PEF

+0

我需要看到更多的代碼,以真正看到什麼是錯誤的有很多東西可能是基於這個錯誤 –

+0

我提供了請檢查並通知我 –

回答

0

你試圖得到哪個位置?例如,如果你輸入0,0(a)你想b(0,1)還是c(1,0)?現在它應該返回d(1,1),因爲行和列都增加了。

圖片您的2D陣列看起來像這樣,
      0,1
0:A,B
1:C,d
2:E,F
3:G,H

現在你正在移動行和列,確保這正是你想要做的。如果用戶輸入1作爲他們的輸入值,你也會得到一個錯誤。