GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Java - REINICIAR PROGRAMA E SAIR DELE


#1

Olá pessoal, preciso de uma ajudinha básica de vocês , em um exercício é exigido que o programa pergunte se é para fazer novos cálculos ou parar o programa , e de acordo com a resposta ele reinicia ou para. Em todos os programas que vi , as pessoas usam while , do while, e eu quero fazer sem, por que minha lógica está diferente e eu realmente gostaria de fazer funcionar do forma como penso. Como sou nova nisso , não faço ideia do que fazer . Espero que algum de vocês possam me ajudar. Segue o meu código abaixo até onde parei :

import java.util.Scanner;
public class Legal {
public static void main (String[] args ){
Scanner scanner = new Scanner (System.in);
double x , y , m, s , d ,v ;
int operacao ;
int decisao ;

System.out.println(" Digite dois números : " );
x = scanner.nextDouble();
y = scanner.nextDouble();




System.out.println(" qual a operação desejada ? ");
System.out.println(" 1 - mais ");
System.out.println(" 2 - subtração ");
System.out.println(" 3 - divisão ");
System.out.println(" 4 - vezes ");
 
     
 

System.out.println(" digite o número da operação : ");

    operacao = scanner.nextInt();

     
     
     
     
    if ( (operacao == 1 )&& ( x >= 1 ) && (x <= 4 ) && ( y >= 1) && (y <= 4 ) ){
       
            m = x + y ;
            System.out.println( " a soma é : " + m );
    }
    else if ( operacao == 2 && ( x >= 1 ) && (x <= 4 ) && ( y >= 1) && (y <= 4 ) ) {
            s = x - y ;
            System.out.println(" a subtração é : " + s );
    }
    else if ( operacao == 3 && ( x >= 1 ) && (x <= 4 ) && ( y >= 1) && (y <= 4 ) ) {
            d = x / y ;
            System.out.println(" a divisão é :" + d );
    }
    else if ( operacao == 4 && ( x >= 1 ) && (x <= 4 ) && ( y >= 1) && (y <= 4 ) ) {
            v = x * y ;
            System.out.println(" a multiplicação é : " + v );
    } 
    else {
        System.out.println(" não possuímos esta operação ou número não se enquadra nas regras  ");
    }
    System.out.println("Deseje fazer novos calculos ou sair do programa? ");
     System.out.println(" 5 - novos calculos ");
     System.out.println(" 6 - sair do programa ");
     System.out.println(" digite a decisao :");
     decisao = scanner.nextInt();
     
     if ( decisao == 5 ){

QUERIA COLOCAR ALGO QUE FIZESSE VOLTAR AO INICIO AQUI

        E DEPOIS NA PRÓXIMA CONDIÇÃO ALGO QUE PARASSE 
         
     
      
     }
     
     
    }
}

#2

Para isso você precisa de um laço de repetição, como por exemplo o do while

do {

} while(condicao);

Coloque o seu código dentro das chaves do ‘do’ e coloque a sua condição no where, pelo que vi, a sua condição é decisao != 6


#3

Assim? Acho que fiz algo de errado, não ta indo . De qualquer forma obrigada .

import java.util.Scanner;
public class Legal {
public static void main (String[] args ){
Scanner scanner = new Scanner (System.in);
double x , y , m, s , d ,v ;
int operacao ;
int decisao ;

System.out.println(" Digite dois números : " );
x = scanner.nextDouble();
y = scanner.nextDouble();




System.out.println(" qual a operação desejada ? ");
System.out.println(" 1 - mais ");
System.out.println(" 2 - subtração ");
System.out.println(" 3 - divisão ");
System.out.println(" 4 - vezes ");
 
     
   do {

System.out.println(" digite o número da operação : ");

    operacao = scanner.nextInt();

     
   
     
     
    if ( (operacao == 1 )&& ( x >= 1 ) && (x <= 4 ) && ( y >= 1) && (y <= 4 ) ){
       
            m = x + y ;
            System.out.println( " a soma é : " + m );
    }
    else if ( operacao == 2 && ( x >= 1 ) && (x <= 4 ) && ( y >= 1) && (y <= 4 ) ) {
            s = x - y ;
            System.out.println(" a subtração é : " + s );
    }
    else if ( operacao == 3 && ( x >= 1 ) && (x <= 4 ) && ( y >= 1) && (y <= 4 ) ) {
            d = x / y ;
            System.out.println(" a divisão é :" + d );
    }
    else if ( operacao == 4 && ( x >= 1 ) && (x <= 4 ) && ( y >= 1) && (y <= 4 ) ) {
            v = x * y ;
            System.out.println(" a multiplicação é : " + v );
    } 
    else {
        System.out.println(" não possuímos esta operação ou número não se enquadra nas regras  ");
    }
    System.out.println("Deseje fazer novos calculos ou sair do programa? ");
     System.out.println(" 5 - novos calculos ");
     System.out.println(" 6 - sair do programa ");
     System.out.println(" digite a decisao :");
     decisao = scanner.nextInt();
     
    
     

} 
while ( decisao != 6 )
   
           



           }

}


#4

se não me engano o outro menu, com as opções de operação, tem que estar dentro do " do while" tbm


#5

Faltou inicializar a variável local decisao e faltou um ; após o while.


#6

Meninos obrigada, funcionou !!!
Sou nova nisso , gostaria de ficar muito boa, acho que o jeito é treinar . bjs