[英]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.