java - 将字符串解析为整数

标签 java jgrasp

所以我最大的问题是我似乎不记得如何将字符串解析为 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/

相关文章:

java - System.ArrayCopy 如何复制数组的数组?

java - Liquibase交易界定

java - 在 @Aspect 中使用 Spring @Profile

java - 如何开始使用 JFreeChart?

java - 无法从按钮打开其他框架

java - 如何使用 Java 且不使用 javax.sound 来确定 8 位 WAV 文件是已签名还是未签名

java - 关于 Struts-Default 和 json-default 扩展

java - Nest Loops,不知道如何编码

C 代码错误 以前从未见过

java - 如何开始使用JFreeChart?