java - 基本代码错误

标签 java

这是我正在尝试的基本程序

public class keyboardinput {
    public static void main(String[] args) throws java.io.IOException {
       int a ;
       System.out.println ("enter the text");
       a =  (int) System.in.read();
       System.out.println ("the entered value is :"+a );
    }
}

执行后,显示如下响应

输入文字

1

输入的值为:49

我输入1,为什么不显示输入的值为1

你能告诉我为什么输出显示等效的 asci 值而不是我在输入中输入的值吗

最佳答案

你不能像你在这里做的那样只是从一个字节转换为一个整数:

a =  (int) System.in.read();

System.in.read() 返回一个整数,但结果将是字符 1 的 ASCII 码,即 49。

我建议使用扫描仪:

Scanner s = new Scanner(System.in);
a = s.nextInt();

关于java - 基本代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34018743/

相关文章:

java - 尝试获取 url 的内容时抛出 Selenium WebDriver Java RunTimeException

java - 使用netcdf-java库或java中的其他方法访问OPeNDAP数据

java - Return 和 Break 语句之间的区别

java - @Autowired 注释无法在 JUnit 类中注入(inject) bean

java - Spring Rest `@Controller` 扭曲行为

java - 从 WAR 中的非 servlet 类获取 XML 文件的相对路径

java - 如何减少 Full GC 的数量?

java - “找不到符号”或“无法解析符号”错误是什么意思?

java - Android 菜单在操作栏中只有 2 项

java - Java从不同类之间的另一个线程通知一个线程