abc라고 하면 a=1 b=2 c=3 이런식으로 계산을 해서 다 더한다음 출력값을 내놓는 프로그램인데 오류가 뜹니다!!!!
import java.util.Scanner;
public class Hello { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); int a,b,i,cal=0;
String word; System.out.print("Enter your name: "); word = stdIn.nextLine();//입력을 받습니다
word.toUpperCase();//대소문자일 경우를 생각해서 전부다 대문자로 바꿉니다 a = word.length();//단어의 길이를 잽니다
for(i=0; i<=a; i++)//단어의 알파벳 갯수만큼 반복합니다 { b = word.charAt(i);//각 알파벳을 정수값에 넣습니다 cal = b - 64; // 그 정수값에서 A가 65니까 64를 뺍니다. 그럼 A=1이 될테니까요 cal += cal; // 최종 계산값에 더합니다 } System.out.print(cal);
}
}
해서 실행하면
오류가 아래와 같이 뜹니다.ㅠ_ㅠ
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 3 at java.lang.String.charAt(Unknown Source) at Hello.main(Hello.java:19)