Здравствуйте, возникла небольшая проблема при вводе с клавиатуры в консольное окно данных. Вот код :
Code
import java.io.*;
public class MyProg {
public static void main(String[] args){
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader bistream = new BufferedReader(is);
try {
char c;
String e=null;
int number;
while(e!="e"){
System.out.println("введите имя и нажмите <ввод>:");
String nameStr = bistream.readLine();
System.out.println(nameStr + " введите число:");
String numberStr = bistream.readLine();
number = Integer.valueOf(numberStr).intValue();
System.out.println(nameStr + " вы ввели число " + number);
System.out.println(nameStr + " введите символ:");
c = (char)bistream.read();
System.out.println(nameStr + " вы ввели символ " + c);
//Вывод в файл
PrintStream ps = new PrintStream(
new FileOutputStream ("res.txt"));
ps.println("привет " + nameStr + c + number);
ps.close();
}
} catch (IOException e){
System.out.println("ошибка ввода " + e);
}
}
}
Дело в том, что при повторном вводе данных программа работает криво. То бишь для корректной роботы цикла, нужно вводить больше одного символа (char), иначе "имя" (nameStr) будет пустым и сразу выводит предложение ввести число.
Уважаемые Java-программисты, просьба скомпилировать и запустить программу может какие идеи появятся Буду рад любой помощи.
Хм,а вот если блок с вводом символа заменить на блок с вводом числа, цикл работает нормально
Code
System.out.println("введите номер ");
String numberStr1 = bistream.readLine();
n = Integer.valueOf(numberStr1).intValue();
System.out.println(nameStr + " вы ввели номер " + (int)n);
Но хотелось бы чтобы все работало ок и с посимвольным вводом. Помогите!