Pessoal, estou fazendo um software simples de biblioteca e na classe principal dele, criei o método Iniciar() na classe Principal.
Com intuito de mostrar ao usuário qual opção ele quer no BlueJ Terminal Window.
A ideia é que ao aparecer esse menu no terminal, a pessoa que esteja utilizando o programa escolha uma das 4 opções. Para isso, ele digita o número
que eu quero armazenar na variável inteira escolha. Mas tá dando erro: “incompatible types - found java.util.Scanner but expected int”
O que devo mudar para funcionar?
Obs.: lá em cima coloquei import java.util.Scanner;
public void iniciar()
{
boolean finaliza = false;
System.out.println("Bem vindo ao programa Biblioteca.");
System.out.println("Escolha uma das opções, para usá-lo.");
System.out.println("1. Usuario");
System.out.println("2. Biblitecário");
System.out.println("3. Administrador");
System.out.println("4. Encerrar o programa");
System.out.println(" ");
escolha=new Scanner(System.in);
while (! finaliza) {
escolha = getCommand();
finaliza = processCommand(escolha);
}
System.out.println("Obrigado por usar o programa.");
}
Scanner(System.in);
O que faz a linha:
while (! finaliza)
?
Você poderia facilitar demais o seu trabalho usando a estrutura de decisão switch/case.
Essa linha aí é só ele verificar se a variável boleana finaliza é verdadeira. Se for, ele encerra o programa.
eu uso switch/case, mas depois…
Meu problema agora está em capturar o que o usuário digita no programa (qual das 4 opções q ele quer). Como é a sintaxe para isso? Não tem uma forma simples de fazer isso?
Eu coloquei:
escolha = new Scanner(System.in);
Mas dá dando o erro que falei…
Bem, basicamente é isso:
escolha = new Scanner(System.in);
// aqui você mostra as opções.
System.out.println("Digite uma opção ");
int opc = escolha.nextInt();
switch(opc)
//...
A variável opc receberá o valor digitado pelo usuário para selecionar a determinada opção.
Fiz o que você sugeriu, mas não deu certo. Aparece o erro: “cannot find symbol - variable escolha”
Tentei colocar lá em cima a declaração da variável escolha : int escolha . Porém, aparece o erro: “incompatible types - found java.util.Scanner but expected int”
Também tentei colocar lá em cima : String escolha, mas aparece o erro : “incompatible types - found java.util.Scanner but expected Java.lang.String”
Perdão, acabei errando no código 
O correto seria:
Scanner escolha = new Scanner(System.in);
Desculpe o equivoco.
use switch case que é melhor
amigo está dando tipos incompatives pq vc ta tentando capturar um inteiro de um tipo String
caso seja necessario continuar com isso use Casting
espero ter ajudado
ps: li todos as mensagens valeu!