기본적으로 사용자에게 줄을 입력하도록 요청하고 있습니다. 처음 10 자만 허용됩니다. Enter 키를 누르면 전체 행을 false로 설정합니다.확인할 문자가없는 경우 값을 설정하는 방법
그렇다면 char가 # 인 경우 배열을 true로 설정하고 그렇지 않으면 다른 모든 것은 false가됩니다. 그래서 나는이
boolean[][] world = new boolean [8][10];
for(int i = 0; i< world.length; i++){
String Temp = userinput.nextLine();
for(int j = 0; j <world[i].length; j++){
if(temp.equals("")){
world[i][j] = false;
}
Else if(temp.charAt(j) == 35){
world[i][j] = true;
}
else {
world[i][j] = false;
}
}
}
그런 다음이 인쇄됩니다 그렇지 않으면 #을 인쇄해야 해당하는 경우, 배열을 인쇄하려면이 옵션을 포함하는 인쇄 방법이있을 것입니다 노력했다.
유일한 문제는 사용자가 적어도 10자를 입력하지 않으면 charAt를 수행 할 수 없으므로 오류가 발생한다는 것입니다. 다음은 사용자 입력이 어떻게 보이고 어떻게해야하는지에 대한 예입니다. 사용자 입력 #의 .d.sd 유일한 문제는 여기서 그것을이어야 (10)이 없기 때문에 경우 userinputs이
#..jh##pop#jfhjdfh#
..fjd#jdjk#kkjnjk
dklsd#klmsfkdfmsdf
#.d.sd
##########
fjdfgk#3fdlksf
l#ldflfsdfl#dflsdf
는이
#....##...
.....#....
..........
.....#....
#.........
##########
......#...
.#........
처럼 그 5 라인 같은 일을 인쇄한다 문자. 그것이해야 할 일은 위에 인쇄 된 것과 같습니다. 단지 그 자리를 "."로 채 웁니다. 누군가 내가 이것을 해결할 수있는 방법을 알고 있다면 그것은 좋을 것입니다.
100 % 확실 당신이 원하지만 그것이 될 수있는 것을 얻을 : if (world [i] [j] = true) {System.out.print (world [i] [j]); 대신 : if (world [i] [j] = true) { System.out.print ("#"); –
'if (world [i] [j] = true)'가 잘못되었습니다. 값이 true인지 아닌지를 확인하기보다는 word [i] [j]에 값을 할당합니다. 부울 값을 true 또는 false와 비교해서는 안되며 부울 값이므로 값 자체 만 사용하십시오. if (word [i] [j]) {...}'또는 false를 검사 할 때 if (! word [i] [j]) {}'이렇게하면'='를 사용하는 문제를 피할 수 있습니다. 정말 의미가'==' – FredK