我有一个问题陈述
问题
编写一个程序来计算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();
}
}
我应该将它提交到在线目录,我假设尝试自动执行程序。当我这样做时,它会告诉我
错误的答案几乎在那里,再考虑一下
我认为在你决定召集加强之前,对它进行一小时的思考是绰绰有余的。
答案 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);
}
}