我的挑战是通过用户输入查找字符串内元素的总值。 用户输入应该如下:1,2,3,4,5,6,7 ...查找字符串中元素的总值
我遇到问题,当我试图使用StringTokenizer
,所以我去了split()方法但根据我在第二个for循环中使用(i + i)还是(+ = i),总金额将减少7或28。
// Libraries
import java.util.Scanner;
import java.util.StringTokenizer;
public class Project_09_8
{
public static void main(String[] args)
{
// Create instance of Scanner class
Scanner kb = new Scanner(System.in);
// Variables
String input; // Holds user input
String [] result; // Holds input tokens in an array
int i = 0; // Counter for loop control
// User input
System.out.print("Please enter a positive whole number, separated by commas: ");
input = kb.nextLine();
result = input.split(",");
// Converts input String Array to Int Array
int [] numbers = new int [result.length];
// Loop through input to obtain each substring
for (String str: result) {
numbers[i] = Integer.parseInt(str);
i++;
}
// Receive this output when printing to console after above for loop [[email protected]
/*
// Loop to determine total of int array
int sum = 0; // Loop control variable
for (int j : numbers) {
sum += i;
//sum = i + i;
}
// Print output to screen
System.out.println("\nThe total for the numbers you entered is: " + sum);
*/
} // End main method
} // End class
什么要补充到'sum'?我认为你的程序有一个重大的错字。 – ajb 2014-10-20 19:09:37
你不想要'sum + = j'? – Ben 2014-10-20 19:09:55
@ ajb - 你是对的。不敢相信我没有看到。 @ Ben - 是的,我打算使用sum + = j而不是i。一旦我改变它,它的工作正确。 – ml24 2014-10-20 19:12:02