jGrasp Java String to Boolean ошибка! ClientID.java:20: ошибка: несовместимые типы: строка не может быть преобразована в логическое значение

У меня есть эта строка кода, с которой у меня проблемы.

name = (JOptionPane.showInputDialog("What is the name of the new Client? \n (Format) \" Jake Michael Drewberg\"  "));
nameCheck= JOptionPane.showInputDialog("Please check that this is correct: "+name+". \n If this is correct please enter \"true\". if not enter \"false\".   ");

я получаю ошибку несовместимых типов, потому что у меня есть строка внутри строки nameCheck, которая является логическим значением, но я просто хочу, чтобы имя, введенное в «имя», отображалось в тексте nameCheck, чтобы пользователь мог проверить, что то, что они ввели, на самом деле правильно. Но я не знаю, как включить ввод имени в логическое диалоговое окно, чтобы они могли ввести true, если имя правильное, или false, если оно неверно, что затем приведет их к строке

if (nameCheck==false)
     {
        name = JOptionPanel.showInputDialog("Please enter the full name of the Client with the first letter of each name in Capital letters. ");  
        System.out.println("This is the final name being saved to our files, if any further issue present themselves please reffer to our Admin staff at [email protected]; \n Client Name: "+name); 
     }

так что они могут повторно ввести имя, которое они хотят сохранить, если они допустили ошибку в начале.

но я все еще сижу с проблемой «ошибка: несовместимые типы: строка не может быть преобразована в логическое значение»


person Jacques Steenkamp    schedule 03.01.2015    source источник


Ответы (1)


JOptionPane.showInputDialog() возвращает строку, содержащую введенные пользователем данные. Это означает, что если вы хотите проверить, что пользователь ввел истину или ложь, вам придется проанализировать то, что он ввел, например так:

boolean b = nameCheck.equalsIgnoreCase("true");

Это установит логическое значение в true, если пользователь ввел true, в противном случае — false.

EDIT: вы также можете использовать Boolean.valueOf(String s)

person kirbyquerby    schedule 03.01.2015