-
2022-05-03 11:20:59
目前只知道以下方法
import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { for(int i = 1; i <= 5; ++i) { System.out.printf("请按回车继续"); System.in.read(); System.in.read(); System.out.println(i); } } }
正在寻找按任意键继续的方法
更多相关内容 -
java 按任意键继续怎么写
2021-03-06 19:38:16匿名用户1级2013-04-25 回答press any key to continue之前是开玩笑的要实现你所说的功能就必须有一个从标准输入读取...可惜的是,到目前为止,Java 里没有这种方法。就连返回一个字节的 System.in.read( ) 也要等到...匿名用户
1级
2013-04-25 回答
press any key to continue
之前是开玩笑的
要实现你所说的功能就必须有一个从标准输入读取数据时不做任何缓存的方法,
即读取一个字节后马上返回的方法(比如视窗平台上 C/C++ 头文件 conio.h 里声明的 getch( ) )。
可惜的是,到目前为止,Java 里没有这种方法。
就连返回一个字节的 System.in.read( ) 也要等到碰上回车才返回(行缓存,即 line-buffered)。
所以现在你唯一的选择就是通过本机接口(JNI)调用本机方法(native method)。
步骤有 6 个。以下是装有 VC6 的视窗平台上的实现范例:
1)编写我们的 Java 程序。在程序里,以 native 这个关键字为将被调用的本机方法做本机声明,
并且加载我们将在第 5 步里创建的动态连接库:
public class PressAnyKeyToContinue {
static native void pause( ); // 本机声明
public static void main( String[ ] args ) {
System.loadLibrary( "PressAnyKeyToContinue" ); // 加载我们的动态连接库
pause( ); // 调用本机方法跟调用一般的方法没两样
}
}
2)编译我们的 Java 程序,以便生成类文件。
3)用 javah.exe 生成对应的 C/C++ 头文件(PressAnyKeyToContinue.h):命令是 javah PressAnyKeyToContinue 。
4)实现头文件里声明的所有方法 / 函数(这例子用 C,所以以下的代码是在 PressAnyKeyToContinue.c 里):
#include "PressAnyKeyToContinue.h"
JNIEXPORT void JNICALL Java_PressAnyKeyToContinue_pause( JNIEnv * jenv, jclass jc ) {
system( "pause" );
}
5)用编译器生成动态连接库:
命令是 cl -Ic:\jdk2\include -Ic:\jdk2\include\win32 -LD PressAnyKeyToContinue.c 。
(当然,假设了 c:\jdk2\ 是 JDK 的路径。)
6)运行我们的 Java 程序。
-
java – “按任意键继续”正在阻止我的程序
2021-02-12 21:29:34正如我在评论中所说,你可能会听到InputStream直到“按任意键”.然后你应该通过OutputStream写一个newLine到进程.以下是一些可以帮助您的代码:public class BatchEnter {public static void main(String[] args) ...正如我在评论中所说,你可能会听到InputStream直到“按任意键”.然后你应该通过OutputStream写一个newLine到进程.以下是一些可以帮助您的代码:
public class BatchEnter {
public static void main(String[] args) throws Exception {
List params = Arrays.asList(new String[] { "cmd", "/C", "C:/test/test.bat" });
ProcessBuilder builder = new ProcessBuilder(params);
builder.directory(new File("C:/test")).redirectErrorStream(true);
final Process p = builder.start();
final BufferedReader wr = new BufferedReader(new InputStreamReader(p.getInputStream()));
final BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(p.getOutputStream()));
String line = "";
try {
while ((line = wr.readLine()) != null) {
if (line.equals("Press any key")) {
String newLine = "\n\r";
writer.write(newLine);
}
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
p.waitFor();
}
}
关于代码的一些评论:
>您应该更改异常管理原因我只是在做e.printStackTrace()
>我的进程是一个命令窗口,我不知道它是否适用于您的exe
编辑:
如果您没有获得任何输出,您只需尝试发送newLine提要,直到程序结束.你可以为exemample,每秒写一次newLine,直到进程停止.就像是 :
final BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(p.getOutputStream()));
while(true){
String newLine = "\n\r";
writer.write(newLine);
}
您可以启动一个写入进程的线程,并在p.waitFor()返回时停止它.你也应该改变条件,比如每秒钟或线程没有停止时更干净的东西.请注意,如果您正在写入流并且流程完成,您将具有IOException.这真的不是我会依赖的东西,但如果它可以帮助你.
-
正确实现“按任意键继续”功能
2021-03-18 10:05:59在大家写程序的时候,经常会遇到“按任意键继续”这样的功能。网上能找到的方法主要有两种:1. 使用 _getch() 语句2. 使用 system("pause") 语句现在挨个说说。_getch()_getch() 功能是从控制台输入一个字符(控制台...在大家写程序的时候,经常会遇到“按任意键继续”这样的功能。网上能找到的方法主要有两种:
1. 使用 _getch() 语句
2. 使用 system("pause") 语句
现在挨个说说。
_getch()
_getch() 功能是从控制台输入一个字符(控制台不显示该输入),是 conio.h 里面声明的一个函数。
所以 _getch() 很好的实现了“按任意键继续”的功能。
system("pause")
system 的功能是通过控制台执行一个命令,是 stdlib.h 里面声明的一个函数。
该函数需要一个字符串指针参数表示命令。这里,"pause" 就是 system 函数将要执行的命令。
pause 命令的功能,可以在控制台 cmd.exe 下输入 pause /? 查看,可以看到,pause 的功能是:暂停并显示信息“Press any key to continue . . .”,然后等待用户按任意键,然后继续。
所以,使用 system("pause") 实现暂停的程序,当多次调用后,退出程序时,会看到控制台留有一堆
Press any key to continue . . .
Press any key to continue . . .
Press any key to continue . . .
字样。
建议
综上可知,通过 system 函数调用控制台命令 pause 显示提示信息并等待按键的步骤非常罗嗦。
因此,建议直接使用 _getch 实现“按任意键继续”的功能。
-
JAVA怎么用任意键继续我是新手不会键盘监控。。有没有其他方法。需要在swich语句中任意键继续然后在dos窗口...
2019-09-30 14:11:53JAVA怎么用任意键继续我是新手不会键盘监控。。有没有其他方法。需要在swich语句中任意键继续然后在dos窗口下调试用ue编程 -
java新手8个小项目
2018-09-21 17:46:22特别适合java新手巩固java基础的项目,总共有8个项目的全部代码,都可以直接运行,代码有注释。 -
apache-activemq启动报错显示:请按任意键继续...
2019-12-10 12:56:282.apache-activemq启动窗口停留在请按任意键继续基本是JDK版本和apache-activemq版本不对应导致 3.apache-activemq一个别端口报错也会导致显示请按任意键继续。。 我遇到的是第三种,仔细看了日志后发现是5672端口... -
Java按回车键继续 方法
2018-03-24 18:09:00public static void Enter() throws IOException {//停顿 System.out.println("按回车继续"); new BufferedReader(new InputStreamReader(System.in)).readLine(); } -
按任意键继续
2015-02-03 13:51:00按任意键继续 任意 脚本代码:any.sh [root@localhost ~]# cat insert.sh #!/bin/bash get_char() { SAVEDSTTY=`stty -g` stty -echo stty cbreak dd if=/dev/tty bs=1 count=1 2> /dev/null stty ... -
java里控制台按esc键退出,怎么实现
2021-02-12 14:30:57用ascii码好像没有什么用,我需要按esc退出,好像有键值这个东西,,但是那个好像又涉及到什么监听之类。package Test;import java.util.Scanner;import bullets.Armorbullet;import bullets.Battery;import shop.... -
Apache-Activemq-5.15.0 启动没有反应,提示任意键继续
2017-07-26 16:44:151.下载apache-activemq-5.15.0 MQ。 2.启动时执行 “F:\apache-activemq-5.15.0\...3.启动出错提示按任意键继续。 解决方法,下载java环境(JDK) 配置 ActiveMq文件夹下的 wrapper.conf文件, 找到 # Java App... -
java--键盘输入任意数字进行求和
2019-09-11 09:28:00思路,我将键盘输入的数放入数组,然后便利数组进行求和 ...import java.util.Scanner; public class Test { public static void main(String[] args){ System.out.println("请输入5位同学的成绩"); ... -
VS2013编译C语言出现“系统找不到指定的路径”请按任意键继续
2014-11-07 15:23:04![CSDN移动问答][1] .../c/dH5OtubqNgAA&ek=1&kp=1&pt=0&bo=AQUsAgEFLAIDACU!...自己安装java,jdk的时候改了几个环境变量,请问大神是不是跟这个有关系? 安装vs2013后,无论编写任何C语言程序都出现这种情况。 -
Jmeter启动报错:Not able to find Java executable or version. Please check your Java installation
2020-06-28 16:31:27Not able to find Java executable or version....请按任意键继续. . . 解决方法 jmeter.bat文件前面加上以上两句: SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_51 (jdk路径) SET PATH=%SystemRoot%/system32;%S -
jmeter.bat
2018-10-09 18:04:15Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web应用测试,但后来扩展到其他测试领域。 -
JAVA第三周作业(从键盘输入若干数求和)
2021-02-28 12:29:55在新的一周,我学习了JAVA的IO编程。下面的代码实现了从键盘输入若干数求和的目标。import java.util.Scanner;public class sum{public static void main(String[] args) {// TODO Auto-generated method stub//从... -
Java从键盘输入判断一个数的奇偶性
2021-06-22 19:17:59import java.util.Scanner; public class C2 { public static void main(String[] args) { System.out.println("Java判断数奇偶"); Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数... -
配置Eclipse 实现按任意键代码自动补全
2012-02-28 18:50:21Eclipse的功能就不用说,用过的都对它有所了解.可是你有没有注意到别人在输入代码时是一直都有代码提示呢?是不是感到有些郁闷,为什么我的不行的....3.依次打开"Java->Editor->Content Assist"在"Auto-Activation"t选项 -
java里怎么按esc键然后退出,用ascii值实现不了
2017-11-12 11:56:50System.out.println("按任意键开始继续,按esc退出"); c = scan1.nextLine().charAt(0); shop1.oprate();// 商店列表 System.out.println("请输入您想购买的炮弹名称"); Scanner scan = new Scanner... -
安装启动Jmeter出错时的解决办法
2018-03-06 14:35:48跟着百度经验配置完JDK跟JMETER的环境变量打开jmeter.bat,提示以下错误信息:'findstr' 不是内部或外部命令,也不是... Please check your Java installation.errorlevel=2请按任意键继续. . . jmeter安装启动报错... -
java 输入数字 相加求和 请帮我修改!
2021-03-09 09:04:45importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclasssy7extendsJAppletimplementsActionListener{Containerct=getContentPane();//创建一个名为ct的容器对象JL...import java.awt.*;import ... -
Java 基础高频面试题(2021年最新版)
2021-03-31 23:39:26最新 Java 基础高频面试题 -
Jmeter操作常见问题积累
2018-06-25 11:18:06Please check your Java installation.errorlevel=2请按任意键继续. . . 解决方法:在环境变量的path中添加:%SystemRoot%\system32;%SystemRoot%; 6,目前JMeter可发起的最大并发量,以及每秒发起并发,... -
10万字208道Java经典面试题总结(附答案)
2021-08-01 16:05:55JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。... -
110道Java初级面试题及答案(最新Java初级面试题大汇总)
2021-11-08 15:21:38史上最全Java初中级面试题,发现网上很多Java初级面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本人发现网上虽然有不少Java相关的面试题,但第一未必全,第二未必有... -
Java基础知识面试题(2020最新版)
2020-02-19 12:11:27文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的... -
guess a number
2014-09-17 17:37:28guess a number java -
JAVA小白 编程练习500题 超详细!!!带答案!!!持续更新中~
2021-05-09 20:10:40JAVA小白编程题练习 可能有很多刚入门的小白不知道自己如何能快速提升编程技巧与熟练度 其实大佬进阶之路只有一个~ 那就是疯狂码代码!!!实践出真知!!! 所以为了大家能够想练习的时候有素材,泡泡给大家整理了一些练习... -
Java面试题大全(2021版)
2020-11-25 11:55:31发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java基础知识面试题 1、Java概述 ①. 何为编程 ...