匿名用户

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任意键继续_java 按任意键继续怎么写相关推荐

  1. java 字符正则匹配算法_java把任意字符串删减成符合一个给定的正则表达式(已知)的方法该怎么写?...

    展开全部 ^String str = "q123wwwe.dd434rrd"; String result = null; if(str==null||str.equals(&qu ...

  2. java软件工程师自我评价_Java开发工程师岗位自我评价怎么写

    自我评价(案例一) 1 : 有较强的分析.解决问题的能力,具有较强逻辑思维能力和表达能力. 2:性格开朗,积极乐观,能以极大的热情投入工作. 3:具有良好的团队协作能力,能够很好地融入团队. 4 : ...

  3. [Java]桌球小游戏(小球任意角度碰撞)

    import javax.swing.*; import java.awt.*; public class BallGame extends JFrame {/*继承swing里面的窗口类*///加载 ...

  4. Java数据库foreign,mysql中的外键foreign key 作者:Java_xb

    一张表中可以有多个外键. 外键的默认作用有两点: 1.对子表(外键所在的表)的作用:子表在进行写操作的时候,如果外键字段在父表中找不到对应的匹配,操作就会失败. 2.对父表的作用:对父表的主键字段进行 ...

  5. java匹配两个字符_·代表任意一个字符,*代表任意一串字符,判断两个字符串是否匹配?...

    ·代表任意一个字符,*代表任意一串字符,判断两个字符串是否匹配? 如题,·代表任意一个字符,*代表任意一串字符,判断两个字符串是否匹配?假如a字符串为:as*bnc·b,b字符串为asdfgvbbnc ...

  6. java 泛型集合应用_Java泛型集合的应用和方法

    展开全部 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以62616964757a686964616fe78988e69d8331333 ...

  7. java获得电脑性能_Java:使用SingletonStream获得性能

    java获得电脑性能 仅具有一个元素的Java流有时会在应用程序中造成不必要的开销. 了解如何使用SingletonStream对象并为其中某些流获得十倍的性能,并了解如何同时简化代码. 背景 Jav ...

  8. java 有序数组 频率_java基础最全面总结_1

    一. 面向对象: { 1.面向对象的思想 :基于面向过程的编程思想 特点:符合我们思想的 将复杂的简单化 将我们从执行者变为指挥者 开发:不断创建对象使用对象指挥对象做事情 设计:就是管理和维护对象之 ...

  9. html怎么键tab键,html中控制Tab键的顺序

    在做项目中,需要控制html页面上登陆表单的按Tab键的顺序,代码如下: 账 号:昵称: 备注:这里的tabIndex的值可为0至32767之间的任意数字 当浏览者使用TAB键在网页控件中移动时,将首 ...

最新文章

  1. pfsense下的流量管理(转)
  2. 通过 Continual Learning 提高 ML.NET 模型准确性并增强性能
  3. Day01 爬虫基本原理及requests请求库
  4. File Finder pro Mac版重复文件查找器使用方法
  5. JavaScript模块知识理解
  6. react-redux-express异步前后端数据交互(面向初学者,高手勿进)
  7. linux命令psd,Linux 下查看 Photoshop PSD 文件
  8. 悄悄地我走了 著名的非自然死亡
  9. Linux笔记五 grep文件过滤、find文件/目录查找
  10. 变频器调试工具:ABB Drive Composer
  11. 大家口中所说的A站、B站、C站、D站、E站、F站、G站、H站、I站、J站、K站、L站、M站、N站、O站、P站、Q站、R站、S站、T站、U站、V站、W站、X站、Y站、Z站都是什么网站?
  12. 土地利用转移矩阵简易计算方法
  13. 实现微信自动回复看电影!
  14. Microsoft C++ 异常: dlib::serialization_error,位于内存位置 0x0133F818 处
  15. java aspect调用,在Spring 中使用@Aspect 控制自定义注解的操作
  16. 【操作系统】概念、功能、特征、分类、运行机制、内核、体系结构、中断和异常、系统调用简介
  17. 详解STM32 PMW计算中的“死区”
  18. scratch鲜为人知的技巧-初级篇
  19. 关于 Delphi 中流的使用(9) 分割与合并文件的函数
  20. 微信小程序 - 气泡菜单组件(仿微信气泡弹框显示菜单)

热门文章

  1. linux去重复程序,Linux下大文件的排序和去重复
  2. js面向数据编程(DOP)一点分享(转载)
  3. python把日期数据转换成数字_python3时间datetime如何转换成数字?
  4. 修改注册表值scancode map来屏蔽键盘上的键
  5. 容灾备份概念及实现方式
  6. pythongui做计算器_Python——GUI编程 利息计算器 作业9(python programming)
  7. 【调剂】东华理工大学2020年硕士研究生预调剂信息
  8. 高考查询系统 (完善中)
  9. HP tank 519 设置无边距卡纸
  10. zookeeper集群搭建以及zoo.cfg配置详解