一个简单的java程序

时间:2013-08-11 10:29:12

标签: java

我有一个问题陈述

问题

编写一个程序来计算2个数字的总和并打印输出。

输入

第1行:整数。

第2行:整数。

输出:输出由一个整数组成,它对应于sum,后跟一个新行

示例输入I

3 
1 

示例输出I

4 

样本输入II

13 
10

样本输出II

23

我的解决方案

import java.io.IOException;
import java.util.InputMismatchException;
import java.util.Scanner;

public class Add {

public static void main(String[] args)throws IOException
{
    int a=0, b=0, sum;
    Scanner sc=new Scanner(System.in);
    System.out.println("Enter the numbers to be summed");
    try{
        a=sc.nextInt();
        sc.nextLine();
        b=sc.nextInt();
    }
    catch(InputMismatchException e){
        System.out.println("Please enter an Integer number");
        e.printStackTrace();}
    catch(Exception e){System.out.println(e);}

    sum=a+b;

    System.out.println(sum);
    sc.close();
}

}

我应该将它提交到在线目录,我假设尝试自动执行程序。当我这样做时,它会告诉我

错误的答案几乎在那里,再考虑一下

我认为在你决定召集加强之前,对它进行一小时的思考是绰绰有余的。

4 个答案:

答案 0 :(得分:10)

输出应为“与sum相对应的单个整数,后跟新行”。

但你的程序输出是

Enter the numbers to be summed
<the sum>

答案 1 :(得分:2)

删除sc.nextLine()。它使它移动到下一行,但由于两个整数都在同一条线上,因此b的值保持为0.

答案 2 :(得分:1)

这些可以通过两个命令行参数或Scanner类或BufferReader来解决。

使用命令行参数。

public Class Sum
   {

     public static void main(String [] args) 
     {
          int a ,b,c;
          a=Integer.parseInt(args[0]);   //using Integer wrapper Class to cast object  
                                           to primitive Datatype Integer.

          b= Integer.parseInt(args[1])  ;

          c= a+b;


         System.out.println("The Sum of two number is : "+c);
     }

   }

使用具有代码可重用性的命令行参数(方法总和)

public Class Sum
   {

     public static long sum(int a,int b)
     {
          return a+b;
     }

     public static void main(String [] args) 
     {
          int a ,b;
          long c;           // for long summation of numbers .

          a=Integer.parseInt(args[0]);   //using Integer wrapper Class to cast object 
                                           to primitive Datatype Integer.

          b= Integer.parseInt(args[1])  ;

          c= sum(a,b);


         System.out.println("The Sum of two number is : "+c);
     }

   } 

使用java.util.Scanner中的外部资源

    public Class Sum
   {

     public static void main(String [] args) 
     {
          int a ,b;
          long c;

          Scanner scan;

          scan = new Scanner(System.in) ;  //Taking system Keyboard for input.

          System.out.println("Enter the value of A: \n");

          a= ss.nextInt() ;

          System.out.println("Enter the value of B: \n");

          b=ss.nextInt();

          c= (long) (a+b); 

         System.out.println("The Sum of two number is : "+c);
     }

   }

答案 3 :(得分:0)

试试这个:

import java.util.Scanner;
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num1 = 0;
        int num2 = 0;
        int sum = 0;

        System.out.println("Enter Number: ");
        num1 = in.nextInt();

        System.out.println("Enter Number2: ");
        num2 = in.nextInt();

        sum = num1 + num2;
        System.out.println(sum);
    }
}