将字符串解析为整数

时间:2018-11-07 19:41:48

标签: 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时,程序结束。

P.S。谢谢你的时间!! ]:-)

3 个答案:

答案 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;
}