import java.util.Scanner;
class Questao{
String quarto;
public String retornaQuarto;{
return this.quarto;
}
public void atribuirQuarto(String quarto){
this.quarto=quarto;
}
public static void main (String[] args) {
Questao open=new open();
Scanner d=new Scanner(System.in);
System.out.print("Qual o tipo de quarto: ");
open.atribuirQuarto(d.nextLine());
System.out.print("ConfimacaoDoQuarto:"+open.retornaQuarto);
}
}
Olá Arthur, tudo bem? Seja bem-vindo! Então, o problema não é no this. Olha como vc fez:
public String retornaQuarto;{
//Quando queremos criar um método
//precisamos definir se ele retorna algo
//e também se tem algum atributo.
//No seu caso retorna uma String e não há
//nenhum atributo.
return this.quarto;
}
O correto seria:
public String retornaQuarto() {
return this.quarto;
}
Outro erro também foi aqui:
Questao open=new open();
Quando o correto seria:
Questao open = new Questao();
Respondendo sobre o this bem resumidamente:
O this é usado para referenciar o objeto que está sendo executando no momento.
Seu código correto seria:
import java.util.Scanner;
public class Questao {
String quarto;
public String retornaQuarto() {
return this.quarto;
}
public void atribuirQuarto(String quarto) {
this.quarto = quarto;
}
public static void main(String[] args) {
Questao open = new Questao();
Scanner d = new Scanner(System.in);
System.out.println("Qual o tipo de quarto: ");
open.atribuirQuarto(d.nextLine());
System.out.println("Confirmação do quarto: " + open.retornaQuarto());
}
}
1 curtida
Exception in thread “main” java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at Codechef.main(Main.java:22)
/Eu coloquei todo o código ele mostrar essa mensagem, já tentei ajeitar mas não deu cero/
/Ele tá mostrando que não ler nenhuma linha/
/COMO EU RESOLVO ESSE PROBLEMA?/
Amigo, eu já te passei o código pronto e funcionando. Se você fez algo a mais, manda aqui.
import java.util.Scanner;
class Codechef{
String quarto;
public String retornaQuarto() {
return this.quarto;
}
public void atribuirQuarto(String quarto) {
this.quarto = quarto;
}
public static void main(String[] args) {
Codechef open = new Codechef();
Scanner d = new Scanner(System.in);
System.out.println("Qual o tipo de quarto: ");
open.quarto=d.nextLine());
System.out.println("Confirmacao do quarto: " + open.retornaQuarto());
}
}
ESSE É O PROBLEMA EU NÃO FIZ NADA , NA LINHA 22 ELE DA ERRO
O erro que você mencionou nem tem como ocorrer no fonte que você postou.
Seu fonte nem compila devido ao erro de sintaxe abaixo:
1 curtida