Galera como faze para capturar uma String ao inver de
um inteiro…
Uso esse comando para inteiro:
classe = input.nextInt();
e para String?
import java.util.Scanner;
public class Classe{
int classe;
int mensagem;
Scanner input = new Scanner (System.in);
public void MensagemTeste(){
System.out.println ("Insira uma mensagem");
classe = input.nextInt();
mensagem = classe;
System.out.printf ("Mensagem classe: %d", mensagem);
System.out.println("");
}
public void MensagemTeste1(){
System.out.println ("Insira uma mensagem");
classe = input.nextInt();
mensagem = classe;
System.out.printf ("Mensagem classe1: %d", mensagem);
System.out.println("");
}
}
Ao invés de nextInt() use nextLine().
bKn
Julho 24, 2009, 8:13am
#3
deja vu?
Tenho certeza que já te respondi isso. Para pegar uma String é somente input.next().
Scanner input = new Scanner(System.in);
String s = input.next();
Caro colega… no caso eu troquei o
classe = input.nextInt();
por
classe = input.next();
mais deu o seguinte erro:
incompatible types - found java.lang.String but expected int
o atributo classe está declarado como int …
Era isso mesmo o atributo tava como int…
falha de programador inicante…
Obrigado…
bKn
Julho 24, 2009, 8:30am
#8
Isso é muito, muito básico. Você tentou capturar uma string e armazenar em um int:
int classe;
classe = input.next(); //compile error
O correto a fazer é criar uma String e armazenar nela:
String s;
s = input.next();
Sugiro que releia os conceitos básicos de declaração e instanciação de variáveis.
Hail
Declara a classe como String e para ler, como o pessoal já falou, usa input.nextLine() ou input.next()
Para deixar mais claro aí pro colega.
Foi dito sobre o next(); e o nextLine();
Como você mesmo pode ter percebido, o next() compilou mesmo com a variável sendo um inteiro, isso porque ele pega todo tipo, e está sujeito a erro (já que vai depender do que for passado pelo teclado). O nextLine() garantirá que não importando o que seja passado ele será uma String. (mesmo que o usuário digite 123456789 ele converterá isso pra String).
nextLine() = menos sujeito a erro = recomendado