当前位置: 首页 > 知识库问答 >
问题:

使用循环生成整数

农明辉
2023-03-14
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;
            }
        }

        }

    }

我不是只想用第一个数字来完成这个操作,而是使用while循环和if条件,使我在键盘上输入的任何内容都变成一个整数。

你觉得问题出在哪里?请帮帮我.

共有1个答案

戎洛华
2023-03-14

您的代码出现break条件太晚了:数字已经搞砸了,乘以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之前,您将无法获得输入。

 类似资料:
  • 这个脚本应该以随机生成的延迟滚动浏览网站上的每个容器。对于循环中的每次迭代,我要将ms的“暂停”替换为一个在和秒之间随机生成的数字。 随机数生成器: 就像这样工作很好。在每次迭代之后,会有2秒的暂停。但是,当我移除注释以添加行以随机化每次迭代之间的时间时,值(它应该滚动到哪个容器)一开始很好,但后来也变成随机的。 控制台输出: 我该怎么解决这个?

  • 我正在Flask中构建一个web应用程序,它涉及到一些SQLAlchemy。我有一个函数“get_team()”让我发疯。 我一直得到的错误:"属性错误:'Unicode'对象没有属性'_sa_instance_state'"。以下是模型的样子: 任何方向都将不胜感激!

  • 我知道这在没有生成器的情况下是非常容易归档的,但是我想更好地理解生成器。因此,请不要建议使用其他东西。 我有一个类可以为屏幕截图生成文件名(selenium): 现在我的问题是:除了Foreach循环之外,我可以在任何其他上下文中使用这样的生成器吗?例如。 对我来说,这总是返回null,如果我调试,它永远不会进入生成器方法。PHP文档也没有真正提到这一点。 所以我的问题是:有没有一种记录在案的方法

  • 我知道这在没有生成器的情况下是非常容易归档的,但是我想更好地理解生成器。因此,请不要建议使用其他东西。 我有一个类可以为屏幕截图生成文件名(selenium): 现在我的问题是:除了Foreach循环之外,我可以在任何其他上下文中使用这样的生成器吗?例如。 对我来说,这总是返回null,如果我调试,它永远不会进入生成器方法。PHP文档也没有真正提到这一点。 所以我的问题是:有没有一种文档化的方法可

  • 我试图设置一个自动压力测试,并将随机生成的数据输入Redis,然后让消费者(作为从Redis读取的另一个组件)处理随机数据。 为了模拟随机生成的数据尽可能接近真实世界的计时,我决定将其放入一个无限循环中,并使用EventMachine来处理同步。我不确定我在用EventMachine做什么,但我听说它比不断生成新线程并阻塞主进程要好得多。我这样做对吗? 编辑1 所以我最终用一个线程池来完成它