AVR programmer
سه شنبه 28 اردیبهشت 1395, 20:06 عصر
ببخشید دوستان من کاملا مبتدی و در حال یادگیری جاوا هستم .
سوالم اینه که میخوام برنامه ای بنویسم که یک رشته رو از ورودی بگیره و معادل عددی (اسکی) همه کاراکتر ها شو جمع بزنه و در خروجی چاپ کنه . این برنامه رو نوشتم :
import java.util.*;
public class string_to_asci {
static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
String a="";
char c;
int b=0,i=0,j=0,k=0;
System.out.println("Enter string : ");
a = in.nextLine();
b = a.length();
for (i=0;i<=b;i++){
c=a.charAt(i);
j=(int)c;
k=k+j;
}
System.out.print("number is : "+ k);
}
}
ولی موقع کامپایل و بعد از گرفتن رشته تو اکلیپس این Error رو میده:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6 at java.lang.String.charAt(Unknown Source)
at string_to_asci.main(string_to_asci.java:15)
اینطور که معلومه از خط c=a.charAt(i) ایراد میگیره .
اساتید لطفا کمکم کنید .
سوالم اینه که میخوام برنامه ای بنویسم که یک رشته رو از ورودی بگیره و معادل عددی (اسکی) همه کاراکتر ها شو جمع بزنه و در خروجی چاپ کنه . این برنامه رو نوشتم :
import java.util.*;
public class string_to_asci {
static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
String a="";
char c;
int b=0,i=0,j=0,k=0;
System.out.println("Enter string : ");
a = in.nextLine();
b = a.length();
for (i=0;i<=b;i++){
c=a.charAt(i);
j=(int)c;
k=k+j;
}
System.out.print("number is : "+ k);
}
}
ولی موقع کامپایل و بعد از گرفتن رشته تو اکلیپس این Error رو میده:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6 at java.lang.String.charAt(Unknown Source)
at string_to_asci.main(string_to_asci.java:15)
اینطور که معلومه از خط c=a.charAt(i) ایراد میگیره .
اساتید لطفا کمکم کنید .