Java-сканер запускается только по первой строчке метода, почему не по средней - PullRequest
0 голосов
/ 10 мая 2018

Я новичок в Java, но хочу знать, почему система ввода Scanner работает только в первой строке кода в методе, а не в середине кода ниже, поскольку Java работает построчно, они должны запрашивать ввод всякий раз, когда сталкиваются с кодом ввода сканера. или я делаю что-то не так

public void go(){        
 try{         
     Socket soc= new Socket("127.0.0.1",5000);
     PrintWriter pw= new PrintWriter(soc.getOutputStream());
     Scanner s= new Scanner(System.in) ;
     String txt=s.next();
     pw.println(txt);
     pw.flush();
     pw.close();
 }catch(Exception e){

 }        
} 

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Первая проблема заключается в следующем:

catch (Exception e){

}

Здесь написано: "поймай все исключения и не говори мне, что случилось "

По крайней мере, сделать это:

catch (Exception e){
    e.printStackTrace();
}

, чтобы узнать, что было исключением. Это даст вам некоторые подсказки для следующей проблемы. (Что, вероятно, не имеет ничего общего с Scanner. Я ожидаю, что проблема с soc.getOutputStream().)

0 голосов
/ 10 мая 2018

Просто повторить цикл:

public void go(){        
  try{         
     Socket soc= new Socket("127.0.0.1",5000);
     PrintWriter pw= new PrintWriter(soc.getOutputStream());
     Scanner s= new Scanner(System.in) ;
     while(true){
        String txt=s.next();
        pw.println(txt);
        pw.flush();
        pw.close();
     }
  }catch(Exception e){

 }        
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...