import java.util.Scanner;
import java.io.*;
public class Main {
public static void main(String[] args) {
char x;
System.out.println("Введите слово: ");
Scanner reader = new Scanner(System.in);
x = reader.nextLine().trim().charAt(0);
System.out.println("=======================");
System.out.println("Буква: '" + x + "'");
System.out.println("Десятичный код: " + Integer.toString(x));
System.out.println("Двоичный код: " + Integer.toBinaryString(x));
System.out.println("Восьмеричный код: " + Integer.toOctalString(x));
try {
FileWriter recorder = new FileWriter("text.txt");
recorder.write(x);
recorder.close();
} catch (IOException ex){
ex.printStackTrace();
}
}
}
Как после ввода слова, вывести в консоль все буквы а не только первую? С применением forEach не получиться решить второй вопрос по моему.
̶К̶а̶к̶ ̶з̶а̶п̶и̶с̶а̶т̶ь̶ ̶в̶с̶е̶ ̶п̶о̶л̶у̶ч̶е̶н̶н̶ы̶е̶ ̶д̶а̶н̶н̶ы̶е̶ ̶в̶ ̶ф̶а̶й̶л̶?̶ ̶А̶ ̶н̶е̶ ̶в̶в̶е̶д̶е̶н̶н̶у̶ю̶ ̶п̶е̶р̶в̶у̶ю̶ ̶б̶у̶к̶в̶у̶ ̶и̶з̶ ̶с̶л̶о̶в̶а̶.̶ Желательно что бы запись происходила по команде. Пример: ввел "-o" записал данные в файл.
Пройтись циклом по строке можно с помощью String.toCharArray
:
//объявим recorder перед циклом
//обернем его в try, так он закроется по завершении блока без recorder.close
try(FileWriter recorder = new FileWriter("text.txt")) {
String line = reader.nextLine().trim();
for(char x : line.toCharArray()) {
//выводим в консоль
System.out.println("Буква: '" + x + "'");
//...
//выводим в файл
recorder.write(x);
}
} catch (IOException ex){
ex.printStackTrace();
}
Судя по Вашему комментарию, формат вывода данных в консоль и в файл отличаются, поэтому писать нужно будет раздельно. Если нужно писать ровно одно и то же как в файл, так и в консоль, то можно написать для этого метод:
private static void writeToFileAndConsole(FileWriter writer, String line) throws IOException{
System.out.println(line);
writer.write(line);
writer.write(System.getProperty( "line.separator" ));
}
И везде использовать его:
writeToFileAndConsole(recorder, "Буква: '" + x + "'");
Вместо FileWriter
можно использовать PrintStream
или PrintWriter
, которые содержат готовые методы для вывода строки.
Желательно что бы запись происходила по команде. Пример: ввел "-o" записал данные в файл.
Для этого нужно читать ввод, проверять его и в зависимости от него выводить в файл. В любом случае это уже другой вопрос.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я новичок в javacvПробую создать систему распознавания лиц и столкнулся с проблемой низкой точности распознавания
Возникла необходимость реализации следующего отчета на JasperНа вход пользователю необходимо предложить выбрать один или несколько адресных...