아래 코드를 사용하여 문자열이 순차적 정수로 구성되는지 여부를 확인하려고합니다. 그러나, 그것을 실행할 때 NumberFormatException이 throw됩니다.substring()을 사용할 때 NumberFormatException
나는 이것이 substring()에 대한 색인 값으로 변수 i를 사용하여 발생한다고 판단했습니다.
다른 방법을 찾을 수 없어서 정말 좌절했습니다. 누구든지 substring()이 변수를 인덱스 값으로 사용할 수없는 이유를 알고 있으며이 문제를 수정/우회 할 수있는 방법은 무엇입니까? (거대한 if 문을 사용하는 것 외에는) 어떤 도움이라도 정말 감사 할 것입니다! 감사!
public static void main(String[] args) {
String x = "12345";
int counter = 0;
for (int i = 0; i < 5; i++) {
if (Integer.parseInt(x.substring(0, 1)) == (Integer.parseInt(x.substring(i, i++))) - i) {
counter++;
}
}
if (counter == 5) {
System.out.println("String is sequential");
}
}
외에 다른 어떤에서 나는, 당신은 아마 내가 * 내 * 루프'++ '증가하지 않아야합니다. 'x.substring (i, i + 1)'을 의미합니까? –
'x.substring'에'i ++'를 사용하지 않으면, 이후에 루프를 증가시켜야합니다. 그냥'i + 1'을하고'x.length -1'까지 반복하십시오. – SomeJavaGuy
하지만'Character.getNumericValue (x.charAt (i))'를 사용할 수 있습니다. –