问题描述
大侠们帮帮忙,如何控制用户输入数值在同一行而不能换行呢?谢谢啊!
解决方案
解决方案二:
那就不按enter就行了啊。。。用空格代替!~~~
解决方案三:
谢谢您,我想知道的是用户输入时不允许他换行,怎么在程序中控制啊?
解决方案四:
让让回车键无效啊
解决方案五:
请教您怎么在输入时回车无效呢?Java中
解决方案六:
StringBuffera;BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));try{while(charc=br.read()!=-1){if(c==13)c==null;System.print(c);}}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}
解决方案七:
不好意思上面代码什么意思啊?粘了改了很多问题啊,麻烦您说句话吧
解决方案八:
不明白lz的意思
解决方案九:
看看书吧,书里都有!
解决方案十:
不太懂
解决方案十一:
如果是打印的话不要println()不要ln如果是从键盘读取ReadLine()不要Line这个问题楼上也有说的你自己思考思考
解决方案十二:
楼主,你想在输入时按Enter键无效,是吧?其实呢,只有在你调用读取键盘的函数的时候,你在控制台的按键操作才会显示在屏幕上面。如果你按C,会显示一个C。如果你按Enter,则会换行。显示你输入的字符,这个事情,其实就是你调用的读取键盘操作的函数实现的。Java提供给你的库函数中,我没见过不响应Enter键的。所以如果你只是调用JavaAPI的话,貌似不可避免地换行。
解决方案十三:
如果是使用VC++编写程序的话,有一个函数:getch(),这个函数也是读取键盘操作,但是不回显。就是说,执行getch()时,它会读取键盘操作,并且返回读取的值。但是屏幕上不会有任何的回显。而显示的操作,就完全由程序员自己控制了。Java中,我没见过这种库函数。所以,如果你非要实现这个功能,可以使用Java的本地调用功能实现。
解决方案十四:
out。ptintln()你把后面的那个ln去掉试试
解决方案十五:
5楼的意思应该就是说读取用户输入,如果输入的是enter就转换为null再输出吧。
解决方案:
我的那个代码不行。抱歉,我没去试过。JAVA中默认回车就是换行。System.in中回车就是让它读一行。你的这个。。没想到什么方法可以实现
解决方案:
packagecsdn;importjava.io.IOException;importjava.util.Scanner;importjava.util.regex.Pattern;publicclassSystemInDemo{publicvoidInputConsole(){StringBuffera;charc;System.out.println("开始输入,按ESC结束,回车无效");Scannersc=newScanner(System.in);sc.skip(Pattern.compile("r"));while(sc.hasNext()){System.out.println(sc.next());}}publicstaticvoidmain(Stringargs[]){newSystemInDemo().InputConsole();}}
现在取消了回车的作用但是不知道如何让它判断为esc停止输入了?
解决方案:
引用16楼kai27ks的回复:
Javacodepackagecsdn;importjava.io.IOException;importjava.util.Scanner;importjava.util.regex.Pattern;publicclassSystemInDemo{publicvoidInputConsole(){StringBuff……
楼上大哥,你的例子你试过没?我在控制台下试,按下回车键,光标是会换行滴。
解决方案:
光标换行是肯定的啊。。。但是不会输出了啊。。所以这是个未完成品。你非要那么做。我得去看下源码才能解决我估计。。
解决方案:
显然楼主的意思就是光标不能换行嘛。其实我在11楼已经说了,要想不换行,就要调用像C语言标准库中的getch这种函数,当然,直接调用Windows相关API也可以。一句话,用Java的本地C或C++调用实现
解决方案:
判断里面有没有换行符就可以了