[AJUDA] principiante[RESOLVIDO]

9 respostas
L
olá galera , sou totalmente principiante em java , estou lendo java como programar e tbm estudando oque consigo , tudo sozinho , e estou com uma dúvida , olhem meu codigo:
//Autor: Luciano Magalhães
//Data:18.05.2010
//Programa para calcular suas passagens do mês
//Versão 1.0
import java.util.Scanner;

public class NaoSei
{

    public static void main(String [] args)
    {
        Scanner input = new Scanner (System.in);

        int numPassagens; //numeros de passagens A
        int numPassagensB; //numero de passagens B
        float passagensA; //quanto custa cada passagem
        float passagensB; //quanto custa a outra passagem ,se houver
        float total; // total de passagens
        int dias; // dias que trabalha por semana

        System.out.println("'quantas passagens por dia você gasta?" +
                " contando ida e volta");

        numPassagens = input.nextInt();

        if (numPassagens == 2)
        {
            System.out.println("qual o preço da sua passagem?");
            passagensA = input.nextFloat();

            System.out.println("Quantos dias você trabalha no mês?");
            dias = input.nextInt();

            total = (numPassagens * passagensA) * dias;

            System.out.printf("você recebe por mês %.2f reais", total);
         if (numPassagens == 3)
         {
             System.out.println("coloque o preço de uma das suas passagens");
             passagensA = input.nextFloat();

             System.out.println("Coloque o preço da sua outra passagem");
             passagensB = input.nextFloat();

             System.out.println("Quantos dias você trabalha no mês?");
             dias = input.nextInt();

             total = ((passagensA + passagensB)* numPassagens) * dias;

             System.out.printf("Você recebera no mês $.2f Reais", total);

         }

        }
    }

}

então , estou fazendo o código apenas pra treinar , e tudo que sei estou usando , tenho algum conhecimento em C , no código quando eu digito "2" ele vai para o primeiro "IF" até ai tudo legal , mas quando digito "3" , que era pra ir pro segundo "IF" ele simplesmente encerra o meu programa , como que faço pra funcionar?

ajudem ae,
abraços e muito obrigado

9 Respostas

TheKill

da uma melhorada nesse seu codigo…
faça o seguinte…

troque todos os float por double…

e qndo vc usa essa linha

System.out.println("'quantas passagens por dia você gasta?" +  
" contando ida e volta"); 
numPassagens = input.nextInt();

troque e deixe assim

numPassagens = JOptionPane.showInputDialog("quantas passagens por dia você gasta? contando ida e volta");
TheKill

nao esta entrando na condicao ==3 por que seu IF ta errado…

veja como deve ser:

if  (numPassagens == 2){  
             System.out.println("qual o preço da sua passagem?");  
             passagensA = input.nextFloat();  
   
             System.out.println("Quantos dias você trabalha no mês?");  
             dias = input.nextInt();  
   
             total = (numPassagens * passagensA) * dias;  
   
             System.out.printf("você recebe por mês %.2f reais", total);  
             }else if  (numPassagens == 3){  
              System.out.println("coloque o preço de uma das suas passagens");  
              passagensA = input.nextFloat();  
   
              System.out.println("Coloque o preço da sua outra passagem");  
              passagensB = input.nextFloat();  
   
              System.out.println("Quantos dias você trabalha no mês?");  
              dias = input.nextInt();  
   
              total = ((passagensA + passagensB)* numPassagens) * dias;  
   
              System.out.printf("Você recebera no mês $.2f Reais", total);
              }
sandro.ci02

primeiro if fechando depois do segundo, ou seja 2º ta dentro do 1º

//Autor: Luciano Magalhães
//Data:18.05.2010
//Programa para calcular suas passagens do mês
//Versão 1.0
import java.util.Scanner;

public class NaoSei {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);

		int numPassagens; // numeros de passagens A
		int numPassagensB; // numero de passagens B
		float passagensA; // quanto custa cada passagem
		float passagensB; // quanto custa a outra passagem ,se houver
		float total; // total de passagens
		int dias; // dias que trabalha por semana

		System.out.println("'quantas passagens por dia você gasta?"
				+ " contando ida e volta");

		numPassagens = input.nextInt();

		if (numPassagens == 2) {
			System.out.println("qual o preço da sua passagem?");
			passagensA = input.nextFloat();

			System.out.println("Quantos dias você trabalha no mês?");
			dias = input.nextInt();

			total = (numPassagens * passagensA) * dias;

			System.out.printf("você recebe por mês %.2f reais", total);
		}//aqui fecha o primeiro if
			if (numPassagens == 3) {
				System.out.println("coloque o preço de uma das suas passagens");
				passagensA = input.nextFloat();

				System.out.println("Coloque o preço da sua outra passagem");
				passagensB = input.nextFloat();

				System.out.println("Quantos dias você trabalha no mês?");
				dias = input.nextInt();

				total = ((passagensA + passagensB) * numPassagens) * dias;

				System.out.printf("Você recebera no mês %3.2f Reais", total);

			}
	}

}
L

cara eu coloquei “else if” porém fica como erro escrito assim "else without if "

cara , não é por nada ,mas achei teu jeito de programar meio desorganizado , é mais dificil de ler colocando do jeito que tu colocou , mas minha mera opinião , desculpa qualquer coisa , cada um têm seu jeito tbm né :smiley:

mas cara muito obrigado por me dar essa dica ae mesmo :lol:

L

aaah caraaa
agora achei ali oque tava erado , era o “}”
agora vi que vc mudou alii , baah valeuzão mesmo
vamos ver oque dá agora ^^’

TheKill

desorganizado?

LOL.

L

é , sei lá , o jeito que tu fez ali em cima eu achei , deu menos linhas , claro ,
mas eu achei , minha opinião.
desculpa se fendi , desculpa mesmo cara
mas como falei , cada um têm seu jeito de fazer.

mas valeu cara , muito obrigado pela ajuda

TheKill

Certo,

Mas questão de aparência resolve com Identação de código em sua IDE,

e não através de trechos de códigos postados para tirar dúvidas e resolver problemas :wink:

Se usa Eclipse, Ctrl+A e depois Ctrl+I
e pronto estará identado.

L

ta bom TheKill , desculpa qualquer coisa ae cara , não queria ofender mesmo ,foi mal :?
mas blz , sem recentimentos vamos é estudar e sempre aprender , afinal estamos aqui pra trocar ideias
abraços

Criado 20 de maio de 2010
Ultima resposta 21 de mai. de 2010
Respostas 9
Participantes 3