我的程序要求用戶輸入可以是字符串,整數或雙精度的輸入列表。一旦用戶完成輸入列表,他們鍵入「退出」完成。 (即用戶輸入:1 2 2.3退出)如何計算我有多少個字符串並將它們連接在一起?
一旦他們輸入「退出」,我的程序將加起來整數和雙打,打印這些值,它也會告訴你有多少整數/雙打在列表中。
但現在我想也考慮到字符串輸入(除int或double以外的任何其他字符串)。如果我得到一些字符串值,我想要統計出有多少個字符串,並將它們連接起來,並在最後打印所有字符串。
我在考慮使用「else」語句,因爲它會考慮除整數和雙精度以外的所有內容,但我該如何使用現在的代碼執行此操作?有沒有辦法讓用戶不必輸入「退出」來完成列表?我能否擁有它,這樣一旦用戶按下「輸入」,程序就會繼續?提前致謝。
import java.util.Scanner;
public class InputParser
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("How many values do you want to input?: ");
int numValues = scanner.nextInt();
System.out.println("Enter " + numValues + " values: ");
int sumIntegers = 0;
int countIntegers = 0;
double sumDoubles = 0.0;
int countDoubles = 0;
while (scanner.hasNextLine())
{
if (scanner.hasNextInt())
{
countIntegers++;
sumIntegers += scanner.nextInt();
}
else if (scanner.hasNextDouble())
{
countDoubles++;
sumDoubles += scanner.nextDouble();
}
else
{
String str = scanner.next();
if (str.equalsIgnoreCase("quit"))
{
break;
}
}
}
System.out.println("Number of integers: " + countIntegers);
System.out.println("Sum of integers: " + sumIntegers);
System.out.println("Number of doubles: " + countDoubles);
System.out.println("Sum of doubles: " + sumDoubles);
}
}
終於你的程序結束了大聲笑 – 2014-10-02 02:29:53
做這個工作? ....我相信它會拋出異常。在使用nextDouble之後,你會遇到問題。你會遇到一個問題。 – StackFlowed 2014-10-02 02:33:51
@Karen我建議一種方法,如果你不想使用相當打字的方法 – 2014-10-02 02:47:29