将String转换为整数

时间:2015-01-20 05:18:02

标签: java

我的代码应该继续要求用户键入一个字符串(用户键入一个整数)并将其转换为整数,直到用户输入-1然后生成程序{{ 1}},但我对如何做到感到困惑?

break

我的问题在于import java.util.Scanner; public class StringConverter { public static void main(String[] args) { boolean flagBoolean = true; while (flagBoolean) { Scanner keyBoard = new Scanner(System.in); System.out.println("Your number:"); String input = keyBoard.next(); if (input == -1) { break; } int result = 0; for (int i = 0; i < input.length(); i++) { result = result * 10 + input.charAt(i) - '0'; } System.out.println("Converted to:" + result); } } } ,因为if (input == -1)input,这会阻止它进行编译。

4 个答案:

答案 0 :(得分:3)

只需将其与字符串文字"-1"进行比较即可。请注意String是对象,因此应使用equals方法进行比较:

String input = keyBoard.next();
if (input.equals("-1")) {
    break;
}

答案 1 :(得分:2)

如果您使用keyboard.nextInt(),该方法将返回integernext()方法返回一个字符串。

注意:如果使用nextInt(),如果输入的内容不是整数,程序将抛出异​​常。您可以使用TRY CATCH来处理这种可能性。

另外,当你说程序需要打破时,我认为你的意思是你需要它结束。将break;放在if语句中不是这样做的方法。尝试将(input != -1)条件放入while而不是标记中。这样,只有在用户输入-1时,您的程序才会退出。只需删除if语句。

我希望这会有所帮助。

答案 2 :(得分:2)

使用equals(Object anObject)比较您传递的字符串:

String input = keyBoard.next();
if ("-1".equals(input )) {
    break;
}

答案 3 :(得分:1)

我想你的问题。

input == -1        --> No


input.equals("-1") --> Yes