日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java console press any key_请问在JAVA中怎么实现在控制台下press any key to continue的功能?...

發布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java console press any key_请问在JAVA中怎么实现在控制台下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 console press any key_请问在JAVA中怎么实现在控制台下press any key to continue的功能?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。