注册 登录
编程论坛 JAVA论坛

【求助】这段java代码哪里错了?

汪小贱 发布于 2017-04-11 21:13, 2449 次点击
//用记事本编写程序,求1+2*2+3*3 +...+n*n的值。n的值从键盘输入,
import *;
public class MyApplication3{
    public static void main(String args[])
    {
        int n;
        int sum=0;
        System.out.print("Enter a number please:");
        try{
        n=(int)System.in.read();
        sum=0;
        for(int i=1;i<=n;i++)
            {
            sum=sum+i*i;
            }
        }catch(IOException e){};
                System.out.println("The answer is"+ sum);
    }
}
4 回复
#2
逆风而前2017-04-13 13:02
import *;
public class MyApplication3{
    public static void main(String args[])
    {
        int n;
        int sum=0;
        System.out.print("Enter a number please:");
        try{
        n=(int)System.in.read();
        sum=0;
        for(int i=1;i<=n;i++)
            {
            sum=sum+i*i;
            }
        System.out.println("The answer is"+ sum);
        }
        catch(IOException e){}
    }
}
catch(IOException e){}
把这句话后面的分号去除,
还有把编译不通过的信息复制出来,看看是哪里出错。
#3
蝴蝶扣2017-04-13 22:34
回复 楼主 汪小贱
package mm;
import
import java.util.Scanner;
public class MyApplication3 {

    public static void main(String[] args) throws IOException {
        // TODO 自动生成的方法存根
        //int n;
        int sum=0;
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number please:");
        int n =sc.nextInt();
        for(int i=1;i<=n;i++)
        {
            sum=sum+i*i;
        }
        System.out.println(sum);
    }
}
#4
蝴蝶扣2017-04-13 22:45
回复 楼主 汪小贱
System.in.read();只能针对一个字符的获取,同时,获取进来的变量的类型只能是char,当我们输入一个数字,希望得到的也是一个整型变量的时候,我们还得修改其中的变量类型,这样就显得比较麻烦。你看看我刚才发给你的程序,给你修改过了,可以正常运行的。
#5
zsh9810229842017-04-15 21:01
新学java看了楼上回答,小有收获。。。
1