大侠们帮帮忙,如何控制用户输入数值在同一行而不能换行呢?谢谢啊!

解决方案 »

  1.   

    那就不按enter就行了啊用空格代替!~~~
      

  2.   

    请教您怎么在输入时回车无效呢?Java中
      

  3.   

     StringBuffer a; 
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
      try 
      { 
      while(char c=br.read()!=-1){
       if(c==13)
          c==null;
       System.print(c);
    }
         
      } 
      catch (IOException e) 
      { 
    // TODO Auto-generated catch block 
      e.printStackTrace(); 
      } 
      

  4.   

    如果是打印的话  不要println() 不要ln
    如果是从键盘读取 ReadLine()   不要Line  这个问题楼上也有说的 你自己思考思考 
      

  5.   

    楼主,你想在输入时按Enter键无效,是吧?
    其实呢,只有在你调用读取键盘的函数的时候,你在控制台的按键操作才会显示在屏幕上面。如果你按C,会显示一个C。如果你按Enter,则会换行。显示你输入的字符,这个事情,其实就是你调用的读取键盘操作的函数实现的。Java提供给你的库函数中,我没见过不响应Enter键的。所以如果你只是调用JavaAPI的话,貌似不可避免地换行。
      

  6.   

    如果是使用VC++编写程序的话,有一个函数:getch(),这个函数也是读取键盘操作,但是不回显。就是说,执行getch()时,它会读取键盘操作,并且返回读取的值。但是屏幕上不会有任何的回显。而显示的操作,就完全由程序员自己控制了。Java中,我没见过这种库函数。
    所以,如果你非要实现这个功能,可以使用Java的本地调用功能实现。
      

  7.   

    out。ptintln()你把后面的那个ln去掉试试 
      

  8.   

    5楼的意思应该就是说读取用户输入,如果输入的是enter就转换为null再输出吧。
      

  9.   

    我的那个代码不行。抱歉,我没去试过。JAVA中默认回车就是换行。System.in中 回车就是让它读一行。你的这个。。 没想到什么方法可以实现
      

  10.   

    package csdn;import java.io.IOException;
    import java.util.Scanner;
    import java.util.regex.Pattern;public class SystemInDemo {
    public void InputConsole() {
    StringBuffer a;
    char c;
    System.out.println("开始输入,按ESC结束,回车无效");
    Scanner sc =new Scanner(System.in);
    sc.skip(Pattern.compile("\r"));
    while(sc.hasNext()){

    System.out.println(sc.next());
    } }
    public static void main(String args[]){
    new SystemInDemo().InputConsole();
    }}现在取消了回车的作用 但是不知道如何让它判断为esc停止输入了?
      

  11.   

    显然楼主的意思就是光标不能换行嘛。
    其实我在11楼已经说了,要想不换行,就要调用像C语言标准库中的getch这种函数,当然,直接调用Windows相关API也可以。一句话,用Java的本地C或C++调用实现