Я работал над программой, предлагающей пользователю вводить строки, и предполагается, что они вводят строки «f name» или «m name». Затем он перечисляет имена мужчин и женщин, внесенных в отдельные списки. Однако вместо того, чтобы программа перечисляла только имена, она также перечисляет «f» и «m» перед каждым именем. Я попытался разместить метод split после того, как пользователь вводит пол и имя, но он не работает. Я уверен, что у меня что-то не хватает, но я не могу поместить его. Любая помощь будет оценена по достоинству. :)Как бы я разделил эту введенную строку? (Java)
package labs.lab5;
import java.util.Scanner;
public class NameProcessor {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
UnboundedQueueInterface<String> males;
males = new ArrayUnbndQueue<>(10);
UnboundedQueueInterface<String> females;
females = new ArrayUnbndQueue<>(10);
String input;
do{
System.out.print("Input a gender and name (x done to quit)>");
input = s.nextLine();
input.split(" ");
if(input.startsWith("m"))
{
males.enqueue(input);
}
else if(input.startsWith("f"))
{
females.enqueue(input);
}
else if(input.startsWith("x done"))
{
break;
}
}
while(!input.startsWith("x done"));
System.out.print("males: ");
while(!males.isEmpty())
{
input = males.dequeue();
System.out.println(input + " ");
}
System.out.print("females: ");
while(!females.isEmpty())
{
input = females.dequeue();
System.out.println(input + " ");
}
}
}
Вы разделили бы их, как вы уже делали, используя 'input.split (" ");' но вам нужно присвоить возвращаемое значение чему-то. Строка неизменна, поэтому строка практически ничего не делает. – tnw
вы назначаете имя после разбора try 'String name = input.split (" ") [1];' – silentprogrammer