-
2021-03-06 19:38:16
匿名用户
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-27 17:12:40nextLine()函数:1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。2、可以获得空白。在线视频教程分享:java在线学习示例如下:public class exchangeNum {public static void ma...相关知识说明:
java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。
nextLine()函数:
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。
在线视频教程分享:java在线学习
示例如下:public class exchangeNum {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
String[] Arrays=str.split(","); //通过“,”分离
int[] a=new int[Arrays.length];
for(int i=0;i
a[i]=Integer.parseInt(Arrays[i]); //将String型转化成int型
System.out.print(a[i]+" ");
}
}
}
相关文章教程推荐:java入门学习
-
java——从键盘输入
2021-09-10 22:20:09nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符。 Scanner str= new Scanner(System.in); String s = str.nextLine(); 二、从键盘输入int型数据 import java.util.Scanner ; ...public static void main(String[] args) { Scanner reader = new Scanner(System.in); int x=reader.nextInt(); int b = reader.nextInt(); if (x > b){ System.out.println("x>b"); } if(x == b ){ System.out.println("x = b"); } System.out.println("x<b"); } Scanner reader = new Scanner(System.in); int a =reader.nextInt(); int b = reader.nextInt(); int c = reader.nextInt(); if (a + b > c && a+c >b && b+c>a){ if (a==b && a==c && b==c){ System.out.println("等边三角形!"); return; } if(a==b || a==c || b==c){ System.out.println("等腰三角形!"); return; } System.out.println("一般三角形!"); }else { System.out.println("不能构成三角形!"); }
一、从键盘输入字符串
1.nex和nextLine的区别
next()读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Enter键或Tab键等结束符,next()会自动将其去掉,只有在输入有效字符前,next()方法才将其后输入的空格键、Enter键或Tab键等视为分隔符或结束符。 nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符。
Scanner str= new Scanner(System.in);
String s = str.nextLine();
二、从键盘输入int型数据import java.util.Scanner ;
Scanner reader = new Scanner(System.in);
int x=reader.nextInt();
double x = reader.nextDouble();
三、从键盘输入double型数据import java.util.Scanner ;
Scanner reader = new Scanner(System.in);
double x = reader.nextDouble();
四、从键盘输入float型数据import java.util.Scanner ;
Scanner reader = new Scanner(System.in);
float x = reader.nextFloat();
五、从键盘输入shortt型数据import java.util.Scanner ;
Scanner reader = new Scanner(System.in);
short x = reader.nextShort();
六、从键盘输入byte型数据import java.util.Scanner ;
Scanner reader = new Scanner(System.in);
byte x= reader.nextByte();
七、从键盘输入char型数据1.如果想输入char型数据,是不可以用(Scanner reader = new Scanner(System.in); byte x= reader.nextChar();)来实现的,这样编译的时候会出现错误。所以由于Scanner类中没有定义读取char型数据的方法,可以先读取string然后再转化为char。
2.当输入字符串后再利用(charAt(0)、charAt(1)、charAt(2)、charAt(3) 得到。
import java.util.Scanner ;
Scanner reader = new Scanner(System.in);
String str= reader.nextLine();
char c=str.charAt(0); -
java中从键盘输入的三种方法
2019-04-21 21:03:32java从键盘输入的三种方法 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class EnterTest { public static void ...java从键盘输入的三种方法
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class EnterTest { public static void main(String[] args) { //主方法 CharTest(); //调用System.in方法 ReadTest(); //调用ReadTest方法 ScannerTest();//调用ScannerTest方法 } /** * System.in和System.out方法 * 缺点一: 该方法能获取从键盘输入的字符,但只能针对一个字符的获取 * 缺点二: 获取的只是char类型的。如果想获得int,float等类型的输入,比较麻烦。 */ public static void CharTest(){ try{ System.out.print("Enter a Char:"); char i = (char)System.in.read(); System.out.println("Yout Enter Char is:" + i); } catch(IOException e){ e.printStackTrace(); } } /** * InputStreamReader和BufferedReader方法 * 优点: 可以获取键盘输入的字符串 * 缺点: 如何要获取的是int,float等类型的仍然需要转换 */ public static void ReadTest(){ System.out.println("ReadTest, Please Enter Data:"); InputStreamReader is = new InputStreamReader(System.in); //new构造InputStreamReader对象 BufferedReader br = new BufferedReader(is); //拿构造的方法传到BufferedReader中 try{ //该方法中有个IOExcepiton需要捕获 String name = br.readLine(); System.out.println("ReadTest Output:" + name); } catch(IOException e){ e.printStackTrace(); } } /** * Scanner类中的方法 * 优点一: 可以获取键盘输入的字符串 * 优点二: 有现成的获取int,float等类型数据,非常强大,也非常方便; */ public static void ScannerTest(){ Scanner sc = new Scanner(System.in); System.out.println("ScannerTest, Please Enter Name:"); String name = sc.nextLine(); //读取字符串型输入 System.out.println("ScannerTest, Please Enter Age:"); int age = sc.nextInt(); //读取整型输入 System.out.println("ScannerTest, Please Enter Salary:"); float salary = sc.nextFloat(); //读取float型输入 System.out.println("Your Information is as below:"); System.out.println("Name:" + name +"\n" + "Age:"+age + "\n"+"Salary:"+salary); } }
最后补充一下nextLine()和next()的区别:
nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
next()会自动消去有效字符前的空格,只返回输入的字符,不能得到带空格的字符串。 -
监听浏览器返回键、后退、上一页事件(popstate)操作返回键
2021-03-15 02:25:25在WebApp或浏览器中,会有点击返回、后退、上一页等按钮实现自己的关闭页面、调整到指定页面、确认离开页面或执行一些其它操作的需求。可以使用 popstate事件进行监听返回、后退、上一页操作。一、简单介绍 history... -
Java——从键盘输入数组
2020-10-27 08:54:51toString() 方法用于返回以一个字符串表示的 Number 对象值。 目录补充知识一、从键盘获取不限制长度的数组输出结果二、从键盘获取限制长度的数组输出结果三、参考 一、从键盘获取不限制长度的数组 import java.util... -
Java按键事件KeyEvent
2021-11-16 07:51:43getKeyChar(): char 返回这个事件中和键相关的字符 getKeyCode(): int 返回这个事件中和键相关的整数键 keyPressed(e: KeyEvent) 在源组件上按下一个键后被调用 KeyReleased(e: KeyEvent) 在源组件上释放一个键... -
在java中,如何从键盘中输入数字,字符,字符串
2021-02-12 09:03:33java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象。常用的类有BufferedReader,Scanner。实例程序:一,利用 Scanner 实现从键盘读入integer或float 型数据Java代码importjava.util.*;... -
Java中键盘两种输入
2016-09-28 22:10:14一、Java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象。常用的类有BufferedReader,Scanner。 实例程序: 1、利用 Scanner 实现从键盘读入integer或float 型数据 import java.util.*;public ... -
javaxml解析源码-XML-Parser:在Java中使用xPath解析xml文件源代码
2021-05-24 12:20:25在Java中使用xPath解析xml文件源代码。 返回 基于数据节点xPath解析xml文件,并将xml文件数据返回到列表列表中。 键-列名。 值-列的数据。 如何使用 查找列的唯一路径,并使用它来获取该节点(列)的数据。 -
java回车键的字符
2021-03-09 22:39:34public class WriteToProcess {public static void main(String[] args) {...try {// 运行java ReadStandard命令,返回运行该命令的子进程System.out.println("start");Process p = Runtime.getRuntime().exec("j... -
Java中从键盘录入的三种方式及注意事项
2016-10-31 17:16:09hasNextInt()会判断你输入的是不是整数,是则返回true,不是则返回false,还有类似的hasNextDouble()等方法 问题二: 当你想想先接收一个int型数据,再接收一个字符串时: 你会发现无法输入字符串; ... -
在java中如何用键盘输入一个数,字符,字符串
2021-02-12 16:54:41一,利用 Scanner 实现从键盘读入integer或float 型数据1 import java.util.*;2 public classtest {3 public static voidmain(String args[])4 {5 Scanner in=new Scanner(System.in); //使用Scanner类定义对象6 ... -
java 键盘输入的多种实现方法
2021-02-12 20:39:06实例程序:1、利用 Scanner 实现从键盘读入integer或float 型数据//import java.io.*;import java.util.*;public class InputTest{public static void main(String[] args){Scanner in = new Scanner(System.in); //... -
给定java hashmap中的键,如何更新值?
2021-02-28 09:17:47i_am_zero..6可能会有点晚,但这是...如果指定键的值存在且非null,则它会尝试计算给定键及其当前映射值的新映射.final Map map1 = new HashMap<>();map1.put("A",0);map1.put("B",0);map1.computeIfPresent("B"... -
在java中如何用键盘输入一个数,字符,字符串 (转)
2021-03-06 01:52:02Java代码importjava.util.Scanner;public classTest{public static voidmain(String[] args){Scanner scan= newScanner(System.in);System.out.println("请输入一个字符串:");System.out.println("您输入的字符串是:... -
java中怎么实现跳转?返回上一级
2021-03-06 19:18:42MenuMe=newMenu();switch(Me.menu()){case1:switch(Me.menu_1()){case1:switch(Me.menu_1_1()){case1:;...//返回上一级}case2:switch(Me.menu_1_2()){case1:;break;c...Menu Me=new Menu();switch(Me.men... -
如何在Java的Map中存储重复键?
2019-01-31 09:30:19在本教程中,我们将探讨用于处理具有重复键的Map的可用选项,或者换言之,允许为单个键存储多个值的Map。 2.标准Map Java有几个接口Map的实现,每个都有自己的特殊性。 但是,现有的Java核心Map实现都不允许Map处理... -
Java中从键盘输入多个整数
2017-09-18 20:42:11Java中从键盘输入多个整数,Scanner -
Java代码中Redis的scan方法中cursor(即scanResult.getStringCursor())返回乱码
2020-12-22 05:47:52Java代码中Redis的scan方法中cursor(即scanResult.getStringCursor())返回乱码错误信息遍历问题scan用法Java代码及问题错误原因新的问题 错误信息 新学redis,某天用scan操作做个删除某些键的小测试,碰到如下... -
Java中使用Scanner类进行键盘的输入详解
2021-02-12 19:05:21我们在使用Java写代码时,经常会遇到从键盘输入字符串等操作,这时候我们需要用到的是我们的Scanner类来实现获取用户从键盘上的输入操作。Scanner类是一个基于正则表达式的文本扫描器,它可以从文件,输入流,字符串... -
java中如何输入char类型
2021-02-26 12:52:07java中基本数据类型的输入包括整形的输入:in.nextInt();单精度浮点型:in.nextFloat();双精度浮点型:in.nextDouble();字符串类型:in.next();in.nextLine();但是并没有in.nextChar();有时候需要我们用Scanner接收... -
【Java入门】键盘监听器KeyListener
2020-01-30 15:14:12概述 KeyListener是用于接收键盘事件(击键)的侦听...然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它。 方法 该接口的3个方法: void keyPressed(KeyEvent e) // 按下某个键时调用此方法。 void keyRele... -
java怎么键盘录入字符串
2019-05-12 14:15:05- java怎么键盘录入字符串 如图所示: 来看一下每句代码的意思: 先写上:import java.util.Scanner //导入 java.util 包下的 Scanner 类,导入后才能使用它 接着:Scanner.sc = new Scanner(System.in); //... -
在JSTL EL中处理java.util.Map,及嵌套List的情况
2021-01-08 19:21:28在方括号中指定键,并将相应的值作为表达式的值返回。例如,表达式 ${map[‘key’]} 返回与 map标识符所引用的 Map 中的 “key” 键相关联的值。 当forEach 的items属性中的表达式的值是java.util.Map时,则var中... -
深入理解Java中的IO
2021-02-12 22:56:33深入理解Java中的IO转载自:http://blog.csdn.net/qq_25184739/article/details/51205186本文的目录视图如下:Java IO概要a.Java IO中常用的类b.Java流类的类结构图1.流的概念和作用2.Java IO所采用的模型 :3.IO流的... -
如何更新一个值,给定一个java hashmap中的键?
2021-03-08 09:25:49map.put(key, map.get(key) + 1);应该没事。 它将更新现有映射的值。 请注意,这使用自动...Java 8的方式:您可以使用computeIfPresent方法并为其提供一个映射函数,该函数将根据现有函数调用一个新值。例如,Map ... -
如何用Java语言从键盘输入内容
2017-03-09 13:43:38此时会提示有错误,需要加入头文件:import java.util.Scanner;1、从键盘输入整形变量:Scanner scanner = new Scanner(System.in); System.out.print("请输入整数:"); int n=scanner.nextInt -
Java中的鼠标事件
2021-02-27 11:42:371 使用MouseListener接口处理鼠标事件使用MouseListener接口可以处理5种操纵发生的鼠标事件:(1)在事件源上按下鼠标键。mousePressed(MouseEvent )(2)在事件源上开释鼠标键。mouseReleased(M... -
java利用Scanner获取键盘输入
2018-06-22 15:06:471、从控制台接收一个字符 ...import java.io.IOException; /** * @author wanniwa * @date 2018/6/22 15:08 */ public class Demo1 { public static void main(String[] args) throws IOException ...