gpt4 book ai didi

java - 使用循环生成整数

转载 作者:行者123 更新时间:2023-12-02 10:09:10 25 4
gpt4 key购买 nike

import java.io.IOException;

public class Main {

public static void main(String[] args) throws IOException {
int number = 0;
int keyValue = System.in.read();
keyValue = keyValue - 48;
number = number * 10 + keyValue;
System.out.println(number);

while(true) {
keyValue = System.in.read();
keyValue = keyValue - 48;
number = number * 10 + keyValue;
System.out.println(number);
if(keyValue == 120) {
number = number - 120;
System.out.println(number);
break;
}
}

}

}

我想从键盘获取整数值。减去 48 将使 ASCII 代码成为我在键盘上输入的值。

我不仅想在第一个数字中执行此操作,而且还想使用 while 循环和 if 条件将我在键盘上输入的任何内容生成一个整数。

您认为问题出在哪里?请帮助我。

最佳答案

您的代码的中断条件太晚了:数字已经搞乱了,乘以 10,添加了 120 - 48。原始键值 - 48 == 120`。

但我认为您想测试字母'x'

    while (true) {
keyValue = System.in.read();
if (keyValue == 'x') {
System.out.println(number);
break;
}
keyValue = keyValue - '0';
number = number * 10 + keyValue;
System.out.println(number);
}

但是控制台 System.in 是行缓冲的,在按下 Enter 之前您将无法获得输入。

关于java - 使用循环生成整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55117051/

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