Olá pessoal. Estou começando agora… O netbeans está acusando erro na linha 13 da classe “Principal” e na linha 8 da classe carrinho, que se lerá a seguir. O método ''Produto" contém apenas dois estados (“nome” e “preco”) e, ao que parece, está certo.
Aqui estão as duas classes para quem puder e quiser me ajudar:
package Compras;
import java.util.Scanner;
public class Principal {
public static void main (String[] args){
Scanner ler=new Scanner (System.in);
int opcao, ultimoProduto=0;
do{
System.out.println (“1- Adicionar produto \n2- Aualizar produto”);
System.out.println (“3- Remover produto \n4-Ver carrinho \n5- Sair”);
opcao=ler.nextInt();
switch (opcao){
case 1:
Carrinho.adicionarProduto(ultimoProduto);
ultimoProduto++;
}
}while(opcao!=5);
}
}
package Compras;
import java.util.Scanner;
public class Carrinho {
static Produto[] lista= new Produto[50];
static Scanner ler=new Scanner(System.in);
static void adicionarProduto(int ultimoProduto) {
System.out.println ("Nome: ");
lista[ultimoProduto].nome=ler.nextLine();
System.out.println (“Preco: “);
lista[ultimoProduto].preco=ler.nextDouble();
System.out.println (lista[ultimoProduto].nome+” foi adicionado ao carrinho.”);
}
}
Não há nenhum método chamado Produto nos códigos que você postou.
E métodos não possuem estados.
Será que você confundiu método com classe? São coisas bem distintas.
Nem dá pra compilar a classe Carrinho pois está faltando a classe Produto que ela referencia.
Bom dia, Trump e staroski, esse último que peço licença pra quebrar o galho do rapaz.
Primeiro, Trump, tente formatar o código em seus próximos post pra melhorar a vizualização das pessoas que pretendem te ajudar. Segundo, staroski, vc está certíssimo!
Vou adiantar a vida do rapaz de uma forma que, talvez não seja a melhor, mas é só ler o código, entender e fazer o que estiver faltando:
//Classe Principal
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner ler = new Scanner(System.in);
int opcao, ultimoProduto = 0;
do {
System.out.println("1- Adicionar produto \n"
+ "2- Atualizar produto \n"
+ "3- Remover produto \n"
+ "4- Ver carrinho \n"
+ "5- Sair");
System.out.println();
opcao = ler.nextInt();
switch (opcao) {
case 1:
Carrinho.adicionarProduto(ultimoProduto);
ultimoProduto++;
break;
case 2:
//implemente
System.exit(0);
break;
case 3:
//implemente
System.exit(0);
break;
case 4:
Carrinho.verCarrinho();
break;
case 5:
System.out.println("Systema encerrado.");
System.exit(0);
break;
}
}
while (opcao != 5);
}
}
//Classe Carrinho
import java.util.Scanner;
public class Carrinho {
static Produto[] lista = new Produto[50];
static Scanner ler = new Scanner(System.in);
static void adicionarProduto(int ultimoProduto) {
System.out.println("Nome: ");
String nome = ler.nextLine();
System.out.println("Preco: ");
Double preco = Double.parseDouble(ler.nextLine());
Produto produto = new Produto(nome, preco);
lista[ultimoProduto] = produto;
System.out.println(lista[ultimoProduto].getNome() + " foi adicionado ao carrinho.");
System.out.println();
}
static void verCarrinho() {
for(int i = 0; i < lista.length; i++) {
Produto p = lista[i];
if(p != null)
System.out.println(p.toString());
}
System.out.println();
}
}
//Classe Produto
public class Produto {
private String nome;
private Double preco;
public Produto(String nome, Double preco) {
// TODO Auto-generated constructor stub
this.nome = nome;
this.preco = preco;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Double getPreco() {
return preco;
}
public void setPreco(Double preco) {
this.preco = preco;
}
@Override
public String toString() {
return "Produto [nome=" + nome + ", preco=" + preco + "]";
}
Opa… Desculpa, me equivoquei, “Produto” é uma classe mesmo, que tem dois atributos: “nome” e “preço”, e estou querendo criar um vetor pertencente a essa classe na classe “Carrinho”. Não coloquei, pois achei desnecessário, mas aqui está:
package Compras;
public class Produto {
String nome= new String();
double preco;
}