Boa noite, alguém poderia me ajudar a entender o que tem de errado no código. Tentei de tudo e não achei o erro.
import java.util.Scanner;
public class Gastos
{
public static void main( String[] args)
{
Scanner input = new Scanner(System.in);
// declaração de variavei
int gasto = 0;
int contadorGasto = 1;
int total = 0;
int media;
String descricao;
int maiorValor = 0;
int alim=0;
// iniciando o laço
// bloco de inserção de dados
while (contadorGasto <=10);
{
System.out.print("Digite valor do gasto:");
gasto=input.nextInt();
System.out.print("digite a descricao do gasto:");
descricao=input.next();
total = total + gasto;
contadorGasto = contadorGasto + 1;
if(maiorValor < gasto){
maiorValor=gasto;
}
}
media= total/10;
System.out.printf("sua media de gastos e"+contadorGasto+" %d%n", media);
if(descricao.Equals("alimentacao")) {
if(gasto >= 10 && gasto <= 20)
System.out.printf("Seu maior gasto foi com %d%N",descricao);
alim = alim += gasto;
alim += gasto;
} else {
System.out.print("não foram informados gastos com alimentação");
}
System.out.print("Voce gastou com alimentacao:",alim);
}
Erro 1: Ponto e virgula logo após os parenteses do while.
while (contadorGasto <=10);
Erro 2: O correto é equals, com o “e” minúsculo.
if (descricao.Equals("alimentacao")) {
Erro 3: Vc colocou uma virgula onde, muito provavelmente, vc deveria por o operador +.
System.out.print("Voce gastou com alimentacao:",alim);
Erro 4: Vc deveria inicializar a variável descricao.
String descricao;
Erro 5: Na verdade não é um erro, mas a primeira linha não faz sentido e a segunda ta somando o gasto pela segunta vez.
alim = alim += gasto;
alim += gasto;
Erro 6: Vc deveria invocar o método close do Scanner.
Observações:
Como vc está trabalhando com dinheiro, o que inclui números com virgula, seria melhor usar o tipo double ao invés de int. Ainda não é o ideal pra se trabalhar com dinheiro em Java, mas é o suficiente para este exercicio.
A variável contadorGasto deveria começar com o valor 0 e não com 1.xx
while (contadorGasto <=10)
{
System.out.print("Digite valor do gasto:");
gasto=input.nextDouble();
System.out.print("digite a descricao do gasto:");
descricao=input.next();
total = total + gasto;
contadorGasto = contadorGasto + 1;
if(maiorValor < gasto){
maiorValor=gasto;
}
}
media= total/10;
System.out.printf("sua media de gastos e"+contadorGasto+" %d%n", media);
if(descricao.equals("alimentacao")) {
if(gasto >= 10 && gasto <= 20)
System.out.printf("Seu maior gasto foi com %d%n",descricao);
alim += gasto;
} else {
System.out.print("não foram informados gastos com alimentação");
}
System.out.print("Voce gastou com alimentacao:"+alim);
}
while (contadorGasto <=10)
{
System.out.print("Digite valor do gasto:");
gasto=input.nextDouble();
System.out.print("digite a descricao do gasto:");
descricao=input.next();
total = total + gasto;
contadorGasto = contadorGasto + 1;
if(maiorValor < gasto){
maiorValor=gasto;
}
}
media= total/10;
System.out.printf("sua media de gastos e"+contadorGasto+" %f%n", media);
if(descricao.equals("alimentacao")) {
if(gasto >= 10 && gasto <= 20)
System.out.printf("Seu maior gasto foi com %f%n",descricao);
alim += gasto;
} else {
System.out.print("não foram informados gastos com alimentação");
}
System.out.print("Voce gastou com alimentacao %f%n:"+alim);
}
import java.util.Scanner;
public class gastos {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double gasto;
int contadorGasto = 0;
double total = 0;
double media;
String descricao = "descricao";
double maiorValor = 0;
int quantidadeMaximaDeGastos = 3;
int quantidadeDeGastosComAlimentacao = 0;
double maiorGastoComAlimentacao = Double.NEGATIVE_INFINITY;
while (contadorGasto < 3) {
System.out.print("Digite valor do gasto:");
gasto = input.nextDouble();
System.out.print("digite a descricao do gasto:");
descricao = input.next();
if ("alimentacao".equals(descricao)) {
quantidadeDeGastosComAlimentacao++;
if (gasto > maiorGastoComAlimentacao)
maiorGastoComAlimentacao = gasto;
}
total = total + gasto;
contadorGasto = contadorGasto + 1;
if (maiorValor < gasto) {
maiorValor = gasto;
}
}
media = total / quantidadeMaximaDeGastos;
System.out.printf("Sua media de gastos é %d R$ %.2f%n", contadorGasto, media);
if (quantidadeDeGastosComAlimentacao > 0) {
System.out.printf("Seu maior gasto com alimentação foi de %.2f%n", maiorGastoComAlimentacao);
} else {
System.out.println("Não foram informados gastos com alimentação");
}
}
}
senhor staroski basicamente estou fazer o jogo pong e que falta é fazer adversário marcar e eu meter a bola na baliza no adversario e a bola não entra. por favor pode experimentar o codigo assim percebe melhor o que eu estou a dizer.