所以我最大的问题是,我似乎不记得如何将字符串解析为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时,程序结束。
P.S。谢谢你的时间!! ]:-)
答案 0 :(得分:2)
如果要确保用户输入了PATH=$(/usr/bin/getconf PATH)
grep "$pattern" "$file"
而没有抛出异常,则可以使用int
方法:
hasNextInt()
这将循环直到他们输入有效的int为止。运行示例(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();
}
表示用户输入):
-
答案 1 :(得分:0)
您可以通过两种方式做到这一点。
- Integer.parseInt()
- Integer.valueOf()
String myStr = "1";
int parsedInt = Integer.parseInt(myStr);
int valueOf = Integer.valueOf(myStr);
System.out.println("Parse Int: " + parsedInt);
System.out.println("Value Of: " + valueOf);
注意:如果输入不可解析,则可能会出现异常。 NumberFormatException
。
答案 2 :(得分:-1)
您可以使用布尔方法和try-catch来检查是否可以将字符串解析为Integer。
public static boolean isInteger(String s) {
try {
Integer.parseInt(s);
} catch(NumberFormatException e) {
return false;
} catch(NullPointerException e) {
return false;
}
// only got here if we didn't return false
return true;
}