gpt4 book ai didi

java - 从方法内更改变量的值会返回 'random' 数字

转载 作者:行者123 更新时间:2023-12-01 14:39:15 24 4
gpt4 key购买 nike

我正在尝试用 Java 制作一个输入处理程序。这是源代码(片段):

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Inputhandler{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public int InputInt;

public int GetInt(){
try{
InputInt = br.read();
} catch(Exception e){
System.out.println("Input should be a number. Please try again\n");
GetInt();
}
return InputInt;
}
}

我试图从第 10 行获取用户输入,然后将该输入设置为 InputInt 的值。但是,当我执行程序并调用这样的方法时:

Inputhandler in = new Inputhandler();
int a = in.GetInt("A question"); //I would input a number like 200
System.out.println(a);

它打印出一个随机数,至少在我看来是这样。像 51、48、55 这样的数字。我在这里做错了什么?为什么我输入的数字没有分配给InputInt?

我认为它与按引用传递和按值传递有关,并且我理解这些原则。我(认为我)完全理解this但仍然无法解决。

请帮帮我!提前致谢。

最佳答案

你的int实际上是the byte value of a character你输入。尝试一下

InputInt = Integer.valueOf(br.readLine());

相反。

关于java - 从方法内更改变量的值会返回 'random' 数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16152173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com