111aaa
#1
dado.nome = "Santanas";
gostaria de modificar com a entrada de usuário
Scanner r = new Scanner(System.in);
fiz
dado.nome = r.nextLine()
deu error
Código
import java.util.Scanner;
public class Aluno {
public String nome;
public int matricula;
public String curso;
public String disciplina1;
public Double nota1;
public String disciplina2;
public Double nota2;
public String disciplina3;
public Double nota3;
public static void main(String[] args) {
Aluno dado = new Aluno();
Scanner r = new Scanner(System.in);
dado.matricula = 12356;
dado.nome = "Santanas";
dado.curso = "ADS";
dado.disciplina1 = "Java";
dado.nota1 = 4.1;
dado.nota2 = 5.1;
dado.disciplina3 = "CSS";
dado.disciplina2 = "PHP";
dado.nota3 = 6.1;
System.out.print("\n Inserir Matricula : " + dado.matricula + "\n");
System.out.print(" --------------------------------------------------------- \n");
System.out.print("\n Inserir Curso : " + dado.curso + "\n");
System.out.print(" --------------------------------------------------------- \n");
System.out.print("\n Inserir Nome : " + dado.nome + "\n");
System.out.print(" --------------------------------------------------------- \n");
System.out.print("\n Inserir Disciplina 1 : " + dado.disciplina1 + "\n");
System.out.print(" --------------------------------------------------------- \n");
System.out.print("\n Inserir Nota 1 : " + dado.nota1 + "\n");
System.out.print(" --------------------------------------------------------- \n");
System.out.print("\n Inserir Disciplina 2 : " + dado.disciplina2 + "\n");
System.out.print(" --------------------------------------------------------- \n");
System.out.print("\n Inserir Nota 2 : " + dado.nota2 + "\n");
System.out.print(" --------------------------------------------------------- \n");
System.out.print("\n Inserir Disciplina 3 : " + dado.disciplina3 + "\n");
System.out.print(" --------------------------------------------------------- \n");
System.out.print("\n Inserir Nota 3 : " + dado.nota3 + "\n");
System.out.print(" --------------------------------------------------------- \n");
/*
if (data.disciplina1 >= 7) {
System.out.print("\n . Aluno : " + " foi aprovado na disciplina " + data.disciplina1 + "\n");
}
if(data.disciplina1 < 7) {
System.out.print("\n . Aluno : " + " foi reprovado na disciplina " + data.disciplina1 + "\n");
}
if (data.disciplina2 >= 7) {
System.out.print("\n . Aluno : " + " foi aprovado na disciplina " + data.disciplina2 + "\n");
}
if(data.disciplina2 < 7) {
System.out.print("\n . Aluno : " + " foi reprovado na disciplina " + data.disciplina2 + "\n");
}
if (data.disciplina3 >= 7) {
System.out.print("\n . Aluno : " + " foi aprovado na disciplina " + data.disciplina3 + "\n");
}
if(data.disciplina3 < 7) {
System.out.print("\n . Aluno : " + " foi reprovado na disciplina " + data.disciplina3 + "\n");
}
*/
}
}
Deu erro? Qual erro? Faltou ponto e vírgula?
2 curtidas
Bom dia !
Qual a mensagem de erro ?
1 curtida
Exemplificando (toscamente):
import java.util.Scanner;
public class Aluno {
private int matricula;
private String nome;
private String curso;
private String[] disciplinas = new String[3];
private double[] notas = new double[3];
/*
* Métodos acessores e modificadores
*/
public void setMatricula(int matricula){
this.matricula = matricula;
}
public int getMatricula(){
return matricula;
}
public void setNome(String nome){
this.nome = nome;
}
public String getNome(){
return nome;
}
public void setCurso(String curso){
this.curso = curso;
}
public String getCurso(){
return curso;
}
public void setDisciplina(String ... disciplina){
for(short d = 0; d < disciplina.length; d++)
this.disciplinas[d] = disciplina[d];
}
public String[] getDisciplina(){
return disciplinas;
}
public void setNota(double ... nota){
for(short n = 0; n < nota.length; n++)
this.notas[n] = nota[n];
}
public double[] getNota(){
return notas;
}
public static void main(String[] args){
short contador = 1;
Scanner leitor = new Scanner(System.in);
Aluno aluno = new Aluno();
System.out.print("\nInforme os dados do aluno.\nMatrícula: ");
aluno.setMatricula(leitor.nextInt());
leitor.nextLine();//limpa o scanner
System.out.print("Nome: ");
aluno.setNome(leitor.nextLine());
System.out.print("Curso: ");
aluno.setCurso(leitor.nextLine());
System.out.println("Boletim");
String[] d = aluno.getDisciplina();
double[] n = aluno.getNota();
for(short dcpn = 0; dcpn < aluno.getDisciplina().length; dcpn++){
System.out.print("Disciplina " + (contador++) + ": ");
d[dcpn] = leitor.nextLine();
System.out.print("Nota: ");
n[dcpn] = leitor.nextDouble();
leitor.nextLine();//limpa o scanner
}
aluno.setDisciplina(d);
aluno.setNota(n);
System.out.println("\nAluno: " + aluno.getNome());
System.out.println("Curso: " + aluno.getCurso());
System.out.println("----- Boletim -----");
for(short i = 0; i < aluno.getDisciplina().length; i++){
System.out.println("Disciplina: " + aluno.getDisciplina()[i]);
System.out.println("Nota: " + aluno.getNota()[i] + "\n");
}
}
}
Rodando…

1 curtida
No código que você postou não há em nenhum lugar a instrução:
dado.nome = r.nextLine();
Exemplo:
import java.io.PrintStream;
import java.util.Scanner;
public class Aluno {
public String nome;
public int matricula;
public String curso;
public String disciplina1;
public Double nota1;
public String disciplina2;
public Double nota2;
public String disciplina3;
public Double nota3;
public static void main(String[] args) {
final Scanner entrada = new Scanner(System.in);
final PrintStream saida = System.out;
Aluno dado = new Aluno();
saida.print("\n Inserir Matricula : ");
dado.matricula = Integer.parseInt(entrada.nextLine());
saida.print(" --------------------------------------------------------- \n");
saida.print("\n Inserir Curso : ");
dado.curso = entrada.nextLine();
saida.print(" --------------------------------------------------------- \n");
saida.print("\n Inserir Nome : ");
dado.nome = entrada.nextLine();
saida.print(" --------------------------------------------------------- \n");
saida.print("\n Inserir Disciplina 1 : ");
dado.disciplina1 = entrada.nextLine();
saida.print(" --------------------------------------------------------- \n");
saida.print("\n Inserir Nota 1 : ");
dado.nota1 = Double.parseDouble(entrada.nextLine());
saida.print(" --------------------------------------------------------- \n");
saida.print("\n Inserir Disciplina 2 : ");
dado.disciplina2 = entrada.nextLine();
saida.print(" --------------------------------------------------------- \n");
saida.print("\n Inserir Nota 2 : ");
dado.nota2 = Double.parseDouble(entrada.nextLine());
saida.print(" --------------------------------------------------------- \n");
saida.print("\n Inserir Disciplina 3 : ");
dado.disciplina3 = entrada.nextLine();
saida.print(" --------------------------------------------------------- \n");
saida.print("\n Inserir Nota 3 : ");
dado.nota3 = Double.parseDouble(entrada.nextLine());
saida.print(" --------------------------------------------------------- \n");
}
}
1 curtida
111aaa
#6
Como posso converter isso para uma variável?
Pensei em tipo
import java.io.PrintStream;
import java.util.Scanner;
public class Aluno {
public String nome;
public int matricula;
public String curso;
public String disciplina1;
public Double nota1;
public String disciplina2;
public Double nota2;
public String disciplina3;
public Double nota3;
public static void main(String[] args) {
final Scanner read = new Scanner(System.in);
final PrintStream echo = System.out;
Aluno data = new Aluno();
echo.print("\n\n Matricula \n\n");
data.matricula = Integer.parseInt(read.nextLine());
echo.print("\n\n Curso \n\n");
data.curso = read.nextLine();
echo.print("\n\n Nome \n\n");
data.nome = read.nextLine();
echo.print("\n\n Disciplina 1 \n\n");
data.disciplina1 = read.nextLine();
echo.print("\n\n Nota 1 \n\n");
data.nota1 = Double.parseDouble(read.nextLine());
double nota1 = Double.parseDouble(data.nota1);
if (nota1 >= 7) {
echo.println("\n . Aluno : " + data.nome + " foi aprovado na disciplina " + data.disciplina1 + "\n");
} else if (nota1 < 7) {
echo.println("\n . Aluno : " + data.nome + " foi reprovado na disciplina " + data.disciplina1 + "\n");
}
echo.print("\n\n Disciplina 2 \n\n");
data.disciplina2 = read.nextLine();
echo.print("\n\n Nota 2 \n\n");
data.nota2 = Double.parseDouble(read.nextLine());
double nota2 = Double.parseDouble(data.nota2);
if (nota2 >= 7) {
echo.print("\n . Aluno : " + data.nome + " foi aprovado na disciplina " + data.disciplina2 + "\n");
} else if (nota2 < 7) {
echo.print("\n . Aluno : " + data.nome + " foi reprovado na disciplina " + data.disciplina2 + "\n");
}
echo.print("\n\n Disciplina 3 \n\n");
data.disciplina3 = read.nextLine();
echo.print("\n\n Nota 3 \n\n");
data.nota3 = Double.parseDouble(read.nextLine());
double nota3 = Double.parseDouble(data.nota2);
if (nota3 >= 7) {
echo.println("\n . Aluno : " + data.nome + " foi aprovado na disciplina " + data.disciplina3 + "\n");
} else if (nota3 < 7) {
echo.println("\n . Aluno : " + data.nome + " foi reprovado na disciplina " + data.disciplina3 + "\n");
}
}
}
Gostaria de algo ± assim data.nota1
em nota1
, data.nota2
em nota2
, data.nota3
em nota3
…
Como você atribui algo para os atributos de um objeto? Assim:
nomeDoObjeto.nomeDoAtributo = valorAserAtribuido;
Como atribui algo à uma variável? Assim:
nomeDaVariavel = valorAserAtribuido;
Eu sugiro que ao invés de tentar aprender na tentativa e erro, faça um curso de programação, algoritmos e depois se preocupe em aprender Java.
1 curtida