Я чрезвычайно новичок в программировании и решил создать программу, которая переводит строки ascii в двоичные строки и двоичные строки в строки ascii. Проблема, с которой я сталкиваюсь, заключается в том, что, хотя программа успешно компилируется, она не позволяет мне вводить строку, подлежащую переводу, после выбора перевода в двоичный код или из него.Ошибка Java Scanner Runtime
import java.util.Scanner;
public class Translator
{
public static void main(String[] args)
{
int valueoftype;
Scanner in = new Scanner(System.in);
System.out.println("Enter 1 if converting to binary. Enter 0 if converting from binary.");
valueoftype = in.nextInt();
System.out.println("What is your input?");
String input = in.nextLine();
if(valueoftype == 1)
{
byte[] bytes = input.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes)
{
int val = b;
for (int i = 0; i < 8; i++)
{
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
binary.append(' ');
}
System.out.println(input + " in binary is " + binary);
}
else if(valueoftype == 0)
{
StringBuilder result = new StringBuilder();
for (int i = 0;i < input.length();i += 8)
{
result.append((char) Integer.parseInt(input.substring(i, i + 8), 2));
}
System.out.println(input + "in ascii is"+ result);
}
else
{
System.out.println("Error cannot procede with incorrect value.");
System.out.println("Enter 1 if converting to binary. Enter 0 if converting from binary.");
valueoftype = in.nextInt();
}
}
}
Я почесал голову за последние пару часов, пытаясь выяснить точно, что в мире не так с моим кодом, надеюсь, я могу получить объяснение от кого-то.
вероятно дубликат. 'nextInt()' не использует символ новой строки. Поместите 'in.nextLine()' после вашего 'nextInt()'. – user3437460