Estou com problemas na entrada de dados utilizando o Scanner e realizando a comparação com o método equals.
System.out.println("Qual Capital de São Paulo?");Scannerentrada=newScanner(System.in);Stringcapital=entrada.nextLine();if(capital.equals("São Paulo")){System.out.println("Você acertou");}else{System.out.println("Resposta Errada!!!");}
Quando na saída quando insiro o valor de Resposta São Paulo ele considera como erro! porque?
Problema na codificação UTF-8. Use o JoptionPane que sai mais barato ou você pode teimar com o scanner.
publicstaticvoidmain(String[]args)throwsUnsupportedEncodingException{Stringcapital=JOptionPane.showInputDialog("Qual Capital de São Paulo?");//Alterado if(capital.equalsIgnoreCase("São Paulo")){//AlteradoSystem.out.println("Você acertou");}else{System.out.println("Resposta Errada!!!");}System.out.println(capital);}
Tente a orientação de @Valtersouza147, faz sentido, não testei, pois estou no netbeans e sem o javac disponível, meio a contragosto, pois só vi quando precisei.
No netBeans, as alternativas que tentei usando argumentos utf-8, para leitura de string diretamente com scanner.nextline(), não deram certo, contudo, não posso dizer que não seja possível.
Por isso eu preferi informar que: