그래서 사용자가 쉼표를 사용하지 않고 숫자 1-4 만 입력하고 있는지 확인합니다. 예 : 1,2,3,4 또는 2,1,4,3. 사용자가 올바른 정보를 입력했는지 확인하기 위해 while 루프를 포함 시켰습니다. 나는 for 루프에 관해서 혼란스러워진다. 왜냐하면 나는 i와 j를 사용하여 배열 내에서 배열에 접근하기 위해 for 루프를 추가로 가질 필요가 있는지 확신 할 수 없기 때문이다. 나는 정말로 혼란스럽고 나는 어떤 종류의 도움을 구하고있다. 나는 현재 파이썬에서의 경험이있다.중첩 된 루프에서 반복을 계속하면서 while 루프를 깨는 방법
while 루프에서 값을 배열로 입력 할 때 사용자가 다음 행의 값을 묻는 메시지를 반환하면 for 루프의 초기화 및 업데이트가 다시 시작된다는 것을 알고 있습니다.
또한 if 문을 다음과 같이 변경하려고 시도했습니다. if (row1Values4x4.charAt(k) > '0' && row1Values4x4.charAt(k) < '5') {
그러나 for 루프가 내 1- 루프의 범위를 벗어나는 값을 찾을 때 루프를 벗어나기를 원하기 때문에 의미가 없습니다. 4.
오류가 발생하지 않으며 원하는대로 작동하지 않습니다.
import java.util.Scanner;
공용 클래스 sudokuPractice는 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] fourArray = { {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0} };
int row = 1;
int k = 0;
while (row < 5)
{
String row1Values4x4 = "-1";
boolean done = false;
while (!done)
{
Scanner firstRow4x4 = new Scanner(System.in);
System.out.println("Please enter four values using commas for row " + row); //this needs to loop
row1Values4x4 = firstRow4x4.next();
row1Values4x4 = row1Values4x4.replaceAll(" ",""); //this is in case user enters numbers with spaces
if (row1Values4x4.length() == 7) {
for (k = 0; k < row1Values4x4.length();k++) {
if (row1Values4x4.charAt(k) < '0' && row1Values4x4.charAt(k) > '5') {
done = true;
} //else {
//}
}
}
}
String strArray[] = row1Values4x4.split(",");
int arraySidesInteger[] = new int[strArray.length];
for (int i = 0; i < strArray.length; i++) {
arraySidesInteger[i] = Integer.parseInt(strArray[i]);
}
fourArray[row-1] = arraySidesInteger;
for (int i = 0; i < fourArray.length; i++) {
for (int j = 0; j < fourArray.length; j++)
System.out.print(fourArray[i][j] + " ");
System.out.println();
}
row++;
k++;
}
}
}
// 난 내 루프의 초기화 및 업데이트를 유지하려고했기 때문에 정수 k에 포함되어 있습니다.
어디에서 휴식할까요? – Veera
@Veera 나는 그것을 시도했다. didnt는 일한다. =/당신의 논리를 봅니다. 나는 다른 말에서 특히 같은 것을 생각하고 있었다. – Brandon