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

Java如何在终端动态换号

尤飞尘
2023-03-14

最近我在做一个模拟项目。我需要显示家里的温度状况。

    int homeTemp = 20;

    System.out.println(homeTemp + " Degree");

输出示例:20度

试图显示这种更真实和相似的方式,我想动态改变终端输出,像(20度&>每5-10秒更新值随机(当前温度+-5度)

在Java有可能吗?谢谢。

共有2个答案

谭伟
2023-03-14

在Java有可能吗?谢谢

是的。不客气:)

学习如何使用线程和runnable接口,以及如何跟踪线程中的时间)

一般的互联网(和这个网站。。。你应该先做一个搜索)会有你需要的所有信息。

钮安歌
2023-03-14

比你想象的要复杂得多。到Java并没有所谓的“终点站”。有一个流入进程的字节流和一个流出的字节流。例如,如果你写:

java -jar someapp.jar >somefile.txt

然后,“更新值”就变得不可能了(是的,你可以覆盖文件中的字节,但是 somefile.txt/code>也可以是 /dev/printer/code>,而且你不能让打印机长腿,走到gal的办公桌前,那个gal刚刚从办公桌上抓起纸,把纸吞回去,然后把之前打印的东西取消打印。

各种终端都有“丰富的支持”,并且具有某些字节序列,这些字节序列不会以字符的形式打印出来,但会以其他方式影响它:移动“光标”,使任何未来文本的背景显示为蓝色,清除屏幕,等等。

这就是我们要做的:发送这些逃逸码(打印它们)。你需要发送的代码,以及弄清楚你要打印到的东西是否支持它们,都是依赖于操作系统的,而且是否有很多选项,因此,Java不会用一个库来解决这个问题。

但是,好消息!

他们确实存在!比如灯笼。您必须将jar添加到您的项目中(或者如果您使用maven,gradle或其他为您提供此功能的构建系统,则将group/artifact/version添加到您的依赖项列表中)。

或者,不要做一个终端应用程序,而是做一个swing(桌面,图形用户界面)应用程序,其中更新JTextField或其他什么都是微不足道的。

 类似资料:
  • 该应用程序是模块化插件架构。即,在完成工作的同时动态加载类。为此,自定义类加载器扩展了类加载器。 问题的本质是在Eclipse中运行应用程序,而在终端(ubuntu)中使用以下代码行(其中目录m/表示模块的位置*. class): 我得到以下信息: 10:07:24085调试主CModuleLoader:findClass:39-运行系统类加载器。线程“main”java中出现异常。朗。反思。在太

  • 问题内容: 更新到OS X 10.11后,我的Java停止工作。我读了多个应该做的地方: 但是问题是当我运行第一行代码时,我得到的是: 有什么想法可以解决吗? 问题答案: 好像新的OS X引入了新的系统集成保护(又名无根)一样。 您可以尝试通过以下步骤在恢复模式下禁用无根用户: 进入恢复模式(听到启动音后同时重新启动并按住+ 键) 当出现“ OS X Utilities”屏幕时,请下拉屏幕顶部的“

  • 但问题是,当我运行第一行代码时,我得到的只是: 你知道我能做些什么来解决这个问题吗?

  • 我有一个程序,当您双击它时会运行。我想做的是: 双击 jar 文件 (只是一个例子,这不是我想做的) 我试过这个: (< code>SOME_COMMAND_HERE只是一个替换) 它没有启动终端。 (我有GUI部分,所以不需要为此编写代码) 那么我该怎么做呢?在过去的一两天里,我一直在寻找堆栈溢出的答案,以及激烈的谷歌搜索。另外,我需要它的原因是因为我想在运行sudo命令时向用户显示一些进度并输

  • 问题内容: 像hellanzb这样的某些应用程序具有一种以动态刷新数据的形式打印到终端的方式,类似于top()。 python中最好的方法是什么?我已经阅读了日志记录和诅咒,但是不知道该使用什么。我正在创建top的重新实现。如果您还有其他建议,我也欢迎他们。 问题答案: 如果只需要更新一行(例如,创建进度条),最简单的方法是使用(回车)和: 如果您需要支持移动指针等的适当控制台UI,请使用标准库中

  • 问题内容: 我已经看到了这个http://kaasxxx.wordpress.com/2008/01/22/linux-hz- checker/ 但该脚本似乎无法正常工作。无论如何,是否知道在Linux终端中检查“ HZ”的简便方法? 问题答案: 对于这些问题没有统一的答案,因为在某些情况下,您的内核可能被“ tickless”编译,并且根本不使用常规的计时器中断。但是,如果您使用的是传统内核和传

  • 我可以打开powershell并键入 在windows 10上打开WSL ubuntu shell。这将始终将我带到WSL主目录。如何在powershell当前所在的位置打开终端? 仅供参考。我需要这个创建一个右键单击"打开终端在这里"类型注册键的windows资源管理器。

  • 问题内容: 我阅读了Xcode 6的新增功能。本文介绍了有关Xcode 6的一些新功能,并说: 命令行 Xcode的调试器包括Swift语言的交互式版本,称为REPL(Read-Eval-Print- Loop)。使用Swift语法来评估正在运行的应用程序并与之交互,或者在类似脚本的环境中编写新代码。REPL可从Xcode控制台的LLDB或Terminal中获得。 我想知道如何获得REPL? 问题