簡體   English   中英

Java 多維數組和掃描儀新手Q

[英]Java multidimensional array and scanner novice Q

我是 Java 的新手,並試圖在本質上實現一個帶有角色的網格,如果用戶輸入“w”“a”“s”或“d”,角色會在平面內向上/向下/向左/向右移動。

我創建了一個大小為 10x10 的多維數組 public static String[][] grid = new String[10][10];

然后只使用 for 循環在 10x10 網格中打印“*”,除了 grid[a][b] 等於字符“A”,即我要移動的東西。

這似乎工作正常,然后我需要檢測用戶的“wasd”輸入,所以我設置了一個:

Scanner in = new Scanner (System.in);
        while (in.hasNext())

然后我有:

String s = in.next();
char ch = s.charAt(0);
switch (ch)

但我無法完成這項工作,並不是因為我沒有完成“switch”語句,我完成了,我只是看到復制和粘貼整個內容無效。

我確定我錯過了非常簡單的小事,你能幫我指出來嗎?

測試s的值:

if(!s.isEmpty(){ // Java 6<br>
// Your code
..;

}

那么開關就可以用'char'了。

查看您的代碼,我猜當您說它不起作用時,您的意思是某些輸入被忽略了嗎?

我會寫代碼如下:

while (in.hasNext()) {
   char ch = (char)in.nextByte();
   switch(ch) 
    ....
}

當然,這假設您只輸入 ASCII 字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM