我用Eclipse编写一个这样的程序:计算1加到m的和。一下是我的程序(我特意复杂化),运行时出错,在for循环那一行提示:Line breakpoint:my [line: 10] - main(String[]),是什么意思啊,有什么解决方法吗? @SuppressWarnings("null")
public static void main(String[] arg) throws IOException{
int i,sum;
int arr[] = null;
System.out.print("Please input a number N:");
BufferedReader N=new BufferedReader(new InputStreamReader(System.in));
int m=N.read();
for(i=1,sum=0;i<=m;i++)
{
arr[0]=0;
arr[i]=arr[i-1]+1;
sum+=arr[i];

}

System.out.println("the sum of 1 to 10 is:"+sum);
}
}

解决方案 »

  1.   

    你这个问题是很多的:
    1. int arr[] = null;  下面arr[0]会有空指针
    2. int m=N.read(); 作为范围 0 到 65535 (0x00-0xffff) 的整数读入的字符 ,建议用:readLine();
    3. 循环里面会有越界。
    不知道我的想法和你是否一致
      

  2.   

    用readLine()的话会出错啊 ,类型不匹配,Type mismatch: cannot convert from String to int
      

  3.   

    用readLine()的话会出错啊 ,类型不匹配,Type mismatch: cannot convert from String to int
      

  4.   

    稍微改了下,没有进行多次循环,异常没处理直接抛出了.
    如果想让程序运行死不了,自己修改吧import java.io.*;
    public class Test {
        public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int m = Integer.parseInt(br.readLine());
    long sum = 0;
    for(int i=0;i<=m;i++) {
    sum += i;
    }
    System.out.println("1+2+...+"+(m-1)+"+"+m+" = "+sum);
    }
    }
      

  5.   

    稍微改了下,没有进行多次循环,异常没处理直接抛出了.
    如果想让程序运行死不了,自己修改吧import java.io.*;
    public class Test {
        public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int m = Integer.parseInt(br.readLine());
    long sum = 0;
    for(int i=0;i<=m;i++) {
    sum += i;
    }
    System.out.println("1+2+...+"+(m-1)+"+"+m+" = "+sum);
    }
    }
      

  6.   

    我运行你的程序arr[0]=0;报空指针异常
    没有见你的异常空指针异常的原因是你这里为空
    int arr[] = null; 
      

  7.   

    用readLine()的话会出错啊 ,类型不匹配,Type mismatch: cannot convert from String to int
      

  8.   

    楼上各位说的已经很清楚了
    再指一点 :
    arr[0]=0; 没必要放循环里面
      

  9.   

    public static void main(String[] args) throws Exception { 
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
         int m = Integer.parseInt(br.readLine()); 
         long sum = 0; 
         for(int i=0;i <=m;i++) { 
         sum += i; 
         } 
         System.out.println("1+2+...+"+(m-1)+"+"+m+" = "+sum); 
         }
      

  10.   

    1:数组arr[]没有实例化
    2:用Integer.parseInt(br.readLine())把读取的数字强制转化一下;