의 ArrayList
을 String
으로 변경하고 String Array
의 각 요소 substring(3,11)
을 표시하려고하는 다음 프로그램에서 현재 작업하고 있습니다.하위 문자열 함수가 원하는 결과를 생성하지 못함
ArrayList<Double> nums = new ArrayList<Double>();
ArrayList<String> strs = new ArrayList<String>();
for (double i = 1; i < 1000; i++) {
nums.add(1/i);
}
for (Double double1 : nums) {
BigDecimal bd = new BigDecimal(double1);
strs.add(bd.toString());
}
for (String string : strs) {
System.out.println(string.substring(3,11);
}
하지만 문제는 내가이 프로그램을 실행할 때마다, 나는 다음과 같은 얻을 수 있습니다 : :
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 11
at java.lang.String.substring(Unknown Source)
at AnotherTestClass.main(AnotherTestClass.java:28)
디버거에서'string' 변수를 검사했을 때 그 값은 무엇 이었습니까? –
'substring (3,11)'은 무엇을한다고 생각하십니까? –
글쎄, 문제는 길이가 11+가 아닌 문자열의 일부입니다. 정확히 여기서 당신이 성취하려고 시도하는 것이 있다면, 우리는 더 나은 해결책을 향해 당신을 도울 수있을 것입니다. – Obicere