所以我最大的问题是我似乎不记得如何将字符串解析为 int 以便我可以对我的代码进行白痴验证。我的目标是找出用户输入的是单词而不是 int,然后我可以向他们解释整数是什么。有人可以帮忙吗?我只需要一个简单的解析命令列表,以便我可以研究它们以备将来使用,一旦有一个简单的列表,我想我就能从那里找出所有其他命令。
import java.util.Scanner;
import java.util.*;
public class SelfTestNumberNine
{
public static void main(String[] args)
{
boolean test = false;
int num = 0;
int sum = 0;
int count = 0;
int pos = 0;
int neg = 0;
Scanner in = new Scanner(System.in);
while(!test)
{
num = 0;
System.out.print("Enter in an Integer Value: ");
String letta = in.next();
if(??parsing stuff goes here!!)
{
num = in.nextInt();
count++;
if(num > 0)
{
pos++;
sum = sum + num;
}
else if(num < 0)
{
neg++;
sum = num + sum;
}
else
{
test = true;
}
}
else
{
System.out.println("An Integer is a number that is positive or
negative,\nand does not include a decimal point.");
}
}//end while
System.out.println("Total: " + sum);
double avg = sum / count;
System.out.println("Average: " + avg);
}//end main
}//end class
基本上,该程序要求用户输入整数,计算正数和负数,并打印出总数和平均值(忽略 0)。当用户输入 0 时程序结束。
附言谢谢你的时间!! ]:-)
最佳答案
如果你想确保用户输入了一个 int
而不会抛出异常,你可以使用 hasNextInt()
方法:
System.out.println("Enter an int (0) to quit");
//While the user has not entered a valid int
while (!input.hasNextInt()) {
System.out.println("Please enter an integer: ");
//Consume the bad input
input.nextLine();
}
这将循环直到他们输入一个有效的 int。示例运行(-
表示用户输入):
Enter an int (0 to quit)
-No
Please enter an integer:
-Never!!
Please enter an integer:
-Ok ok fine
Please enter an integer:
-3
关于java - 将字符串解析为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53196651/