这是我的第一个java项目之一,我正在尝试制作一个迷你计算器,现在我正在努力进行添加。
我想要它做的就是它会询问用户他们想要添加多少个数字,然后输入所有数字后,java代码必须输入所有输入的数字。
这是迄今为止尚无法解决的补充部分:
private static void Addition() { //I already added the Scanner plugin
System.out.println("How many numbers would you like to add?");
Scanner adds = new Scanner(System.in);
int addsput = adds.nextInt();
Scanner numa = new Scanner(System.in);
for(int addloop=1; addloop>addsput; addloop++) {
int numaput = adds.nextInt();
//somehow I want to get all the numbers
}
//Here I want to add all the numbers they typed
}
所以我希望你明白这个主意。任何帮助都会很棒,因为我一直在寻找大约一个小时来解决这个问题。感谢。
答案 0 :(得分:1)
您有两个选项,可以将值读取到数组中,也可以在读取值时查找总和。
您只需要一个Scanner
个对象,而您的for
循环存在一些问题:
private static void addition() {
Scanner input = new Scanner(System.in);
System.out.println("How many numbers would you like to add?");
int amountNumbers = input.nextInt();
int sum = 0;
for (int counter = 0; counter < amountNumbers; counter++) {
sum += input.nextInt();
}
System.out.println("Sum: " + sum);
}
使用数组:
private static void addition() {
Scanner input = new Scanner(System.in);
System.out.println("How many numbers would you like to add?");
int[] numbers = new int[input.nextInt()];
for (int index = 0; index < numbers.length; index++) {
numbers[index] = input.nextInt();
}
int sum = 0;
for (int index = 0; index < numbers.length; index++) {
sum += numbers[index];
}
System.out.println("Sum: " + sum);
}
以下是使用Java 8中的IntStream
执行此操作的更高级方法:
private static void addition() {
Scanner input = new Scanner(System.in);
System.out.println("How many numbers would you like to add?");
int amountNumbers = input.nextInt();
int sum = IntStream.generate(input::nextInt)
.limit(amountNumbers)
.sum();
System.out.println("Sum: " + sum);
}
答案 1 :(得分:0)
以下是我建议改变的一些事项: 您只需要1个扫描仪。至于添加总和,如果在循环之前创建变量,则可以在输入的同一行中添加总和。
你还有&lt;标志与&gt;混淆标志。您希望循环一直运行,直到变量addloop增加了用户想要输入要添加的数字的次数。因此,循环应该继续,直到达到用户输入的数字,而不是相反。
SELECT P.[ProductName] as ProductName, P.PurchaseQty, S.SalteQTY, P.purchaseQTY-S.SalteQTY as ClosingQty
FROM [PURCHASEDATA] P LEFT OUTER JOIN [SALEDATA] S ON P.ProductName=S.ProductName