Usando Random!

Fala galera sou um usuário novo aqui do fórum! To com uma dúvidaaaaaaa

segue o code abaixo!

[code]import java.util.Random;

public class Numerosrandomicos {

public static void main(String… Args){
System.out.println(“Gerar 3 numeros entre 0 e 99.”);

Random randomGenerator = new Random();
for (int no = 1; no <= 3; ++no){
int randomInt = randomGenerator.nextInt(100);
System.out.println("No gerado : " + randomInt);
}

System.out.println(“Fechando sistema.”);
}

} [/code]

No momento ele gera 3 números usando o Random e imprime um número em cada linha, qdo termina a ação ele manda um FIM.

[b]Eis minha dúvida!

Teria como adaptar o código para que ele executasse uma conta de executar e me perguntasse a resposta?

Exemplo!

Executa o programa!

Programa pergunta quanto é 10 x 10

Usuário digita a resposta

Programa verifica se está correta ou não!

Sei que o código corre do que eu to tentando chegar mas é a única coisa que consegui bolar lendo aqui no fórum :smiley:

Claro. Você pode mandar o sistema imprimir o número random mais um X e um outro número random ou o mesmo número. Você que sabe. Daí você deixa o resultado em uma variável e pede uma entrada para uma variável e verifica a resposta com um simples if. Caso você queira deixar aleatório o operador você tem que usar a imaginação hehe. Pode fazer para gerar um número inteiro e fazer algumas verificações com ele tipo: Se o número for múltiplo de 4 você coloca a divisão, etc. Lembrei nisso agora mas você pode fazer como quiser hehe

Espero ter ajudado!

Bom vou tentando aqui e conforme a evolução vou postando o código, a princípio se o programa fizer apenas MULTIPLICAÇÕES eu to satisfeito!

E teria como usar um IF para variar a resposta do programa?

Tipo o programa pergunta quanto é 2 x 2 ae eu respondo 4, então o programa imprime Muito Bom, na próxima pergunta que eu acertar ele imprime Boa Resposta, etc, variar as respostas!

Se quiser dar uma mão na parte de codificação fico grato rsrs

Sim pode fazer isso da mesma forma que falei lá em cima com os randons e fazer a verificação.
Vai fazendo os códigos e postando para você ir aprendendo pois se eu for fazer você não vai aprender igual se você mesmo fizer.

Para fazer as entradas do programa caso você não saiba vou te passar umas dicas usando JOptionPane. Tem como fazer usando System.in mais não lembro agora pois faz tempo que não uso:

//Entrada do programa. Você tem que fazer o cast pois ele retorna String
int x = Integer.parseInt(JOptionPane.showInputDialog("Valor do x:"));

//Saída do programa.
JOptionPane.showMessageDialog(null, "Texto para saída aqui!");

//E não esqueça de fazer o import da biblioteca.
import javax.swing.JOptionPane;

Conforme for surgindo as dúvidas posta para agente dar uma olhada

Espero ter ajudado!

Gere dois randômicos, mostre a operação pro usuário, guarde o valor da operação numa variável e faz um condicional pra ver se a resposta está correta.

[code]
int a = (int) ( 1 + (Math.random() * 100));
int b = (int) ( 1 + (Math.random() * 100));
System.out.println(a + " x " +b+ ": ");
Scanner input = new Scanner(System.in);

int calc = a *b;
if (calc == input.nextInt()){
System.out.println(“Certo!”);
}else{
System.out.println(“Errado!”)
}[/code]

Isso desse jeito que faz a entrada hehehe! Lembrei agora. Caso queira deixar a aparência mais bonita fica legal do jeito que postei.
Agora só falta fazer os randoms para o operador e para a mensagem.

Por favor deixa ele tentar fazer.

Obrigado!

É agradeço se deixarem eu me virar e forem me dando dicas, se não, a força do copiar e colar vai tornar o mundo mais zumbi =/

auhauhua calma ae que agora anganjei na coisa

hahah…

sorry :wink:

Bom com a dica do usuário sgaothaich eu consegui fazer o programa!

Agora vou começar a implantar usando IFs como me disseram pra variar as respostas!

Vou por um IF para Muito Bom, Parabéns, e mais alguma coisa!

Já já edito meu post com o código em andamento!

[code]import java.util.Scanner;

public class MatematicaIniciante {

public static void main(String… Args){
System.out.println(“Responda ao cálculo abaixo”);

int a = (int) ( 1 + (Math.random() * 10));
int b = (int) ( 1 + (Math.random() * 10));

System.out.println(a + " x " +b+ ": ");
Scanner input = new Scanner(System.in);

int calc = a *b;
if (calc == input.nextInt()){
System.out.println(“Muito bem!!”);

}else{
System.out.println(“Valor incorreto. Tente de novo.”);

	}
}

}[/code]

Se o usuário acertar eu quero que o programa faça outra pergunta, e se o usuario errar eu quero que o programa diga que está errado e faça a mesma pergunta até ele acertar, como ficaria isso? tenho que ficar chamando o metódo dentro do IF/ELSE?

[code]import java.util.Scanner;

public class AtividadeProgramacao {
public static void main(String[] args) {

	int sair =1;
	
	do{
	   int a = 1 + (int)(Math.random() * 10)  ;
    int b = 1 + (int)(Math.random() * 10)  ;
    int c = b*a;
  int R;
    do {
    	System.out.print("Resolva o cálculo abaixo: ");
    	System.out.print("Quanto é "+a +"x" +b);
  		System.out.println("?");
 		Scanner teclado = new Scanner(System.in);
 		int r = Integer.parseInt(teclado.nextLine());
 		R=r;
 		if(r!=c) {
 			int errado = 1 + (int)(Math.random() * 4)  ;	
 			if(errado==1){
 			System.out.println("Não. Tente novamente, por favor.");
 			}
 			if(errado==2){
	 			System.out.println("Errado. Tente mais uma vez.");
	 			}
 			if(errado==3){
	 			System.out.println("Não. Continue tentando.	");
	 			}
 			if(errado==4){
	 			System.out.println("Não. Desista!");
	 			}
	    }
 		
	}
	while (R!=c);
    
 
    if(R==c)
    {
    	int cer = 1 + (int)(Math.random() * 4)  ;
    	if(cer==1){
    System.out.println("Muito bem!");
    	}
    	if(cer==2){
    	    System.out.println("Bom Trabalho!");
    	    	}
    	if(cer==3){
    	    System.out.println("Excelente!");
    	    	}
    	if(cer==4) {
    	    System.out.println("Certo! Continue Assim!");
    	    	}
    	
    	
    	
    }  }while(sair==1);
    
	}

}
[/code]

Ta assim por enquanto!

Com esse código acima me tirem uma dúvida, como eu faço assim ó:

o usuario vai responder 10 perguntas, se a margem de acerto for maior que 75% o programa encerra se for menor que 75% o programa imprime que o aluno precisa de ajuda blabla, como ficaria pra fazer isso?

você vai ter que deixar uma variável de contador daí cada vez que executar um do while você acrescenta um e deixa o while ate o 10. Você também talvez vai precisar de um array de boolean que você vai setando true se acertou ou false se errou. Daí você faz a verificação da porcentagem de acertos.
Hehe vai ficar bem legal esse seu sisteminha. Fica melhor ainda se você fizer um random para o operador.

Acho que é mais ou menos isso.

Desculpa pela demora, rsrs mas o codigo desse sisteminha atualmente tá assim!

[code]/**

  • @author Gustavo Girardon
  • @version 1.0 Total Flex
    */

import java.util.*;
public class ExercicioQuatro {

/**
 * @param args
 */
public static void main(String[] args) {
	
	int n = 0;
	int ac = 0;
	int op = 0;
	int	Nv = 0;

	//Escolha do nível de dificuldade da pergunta!
	 System.out.println("Informe o nível desejado (1=fácil,2=médio,3=difícil)?");
	 Scanner teclado = new Scanner(System.in);
	  Nv = Integer.parseInt(teclado.nextLine());
	  System.out.println("Iniciado em nível "+Nv);
	
	  //Escolha do tipo de operação
		 System.out.println("QUal o tipo de operação? (1: Multiplicação, 2: Divisão, 3: Adição, 4: Subtração)");
		 Scanner tec = new Scanner(System.in);
		  op = Integer.parseInt(tec.nextLine());
		 if(op==1){ System.out.println("Você Escolheu: Multiplicação");}
		 if(op==2){ System.out.println("Você Escolheu: Divisão");}
		 if(op==3){ System.out.println("Você Escolheu: Adição");}
		 if(op==4){ System.out.println("Você Escolheu: Subtração");}
	 
		 //ínicio do if para multiplicação
		if(op==1)
			{
			do{ 
		 //Nível 1
	if (Nv==1)
	{			
		//sorteia numero 1
		 int nivel11 = 1 + (int) (Math.random()*10);
		 int nivel12 = 1 + (int) (Math.random()*10);
		 //fim sorteio

		 System.out.println("Quanto é "+nivel11+" x "+nivel12+"?");
		 Scanner nvl1 = new Scanner(System.in);
		 int nivl1 = Integer.parseInt(nvl1.nextLine());
		 if(nivl1==nivel11*nivel12)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Excelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else
		 {//Se a resposta estiver errada
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}		//Fim nível 1
	
	 //Nível 2
	if (Nv==2)
	{
		//sorteia numero 2	
		 int nivel21 = 1 + (int) (Math.random()*100);
		 int nivel22 = 1 + (int) (Math.random()*100);
		 //fim sorteio
		System.out.println("Quanto é "+nivel21+" x "+nivel22+"?");
		 Scanner nvl2 = new Scanner(System.in);
		 int nivl2 = Integer.parseInt(nvl2.nextLine());
		 if(nivl2==nivel21*nivel22)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Exelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else//Se a resposta estiver errada
		 {
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}
	//Fim nível 2

	 //Nível 3
	if (Nv==3)
	{
		//sorteia os números
		 int nivel31 = 1 + (int) (Math.random()*1000);
		 int nivel32 = 1 + (int) (Math.random()*1000);
		 //fim sorteio
		System.out.println("Quanto é "+nivel31+" x "+nivel32+"?");
		 Scanner nvl3 = new Scanner(System.in);
		 int nivl3 = Integer.parseInt(nvl3.nextLine());
		 if(nivl3==nivel31*nivel32)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Exelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else//Se a resposta estiver errada
		 {
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}
	//Fim nível 3
	n = n+1;
	
			}while(n<=9);
			 }
			
		////////////////////////////////FIM MULTIPLICAÇÃO//////////////////////////////

//////////////////////////////////////////////DIVISÃO///////////////////////////////////////////////

		if(op==2)
			{
				do{
				
			
		 
		 //Nível 1
	if (Nv==1)
	{
		
		//sorteia numero 1
		 int nivel11 = 1 + (int) (Math.random()*10);
		 int nivel12 = 1 + (int) (Math.random()*10);
		 //fim sorteio

		 System.out.println("Quanto é "+nivel11+" / "+nivel12+"?");
		 Scanner nvl1 = new Scanner(System.in);
		 int nivl1 = Integer.parseInt(nvl1.nextLine());
		 if(nivl1==nivel11/nivel12)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Exelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else//Se a resposta estiver errada
		 {
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}
	//Fim nível 1
	
	 //Nível 2
	if (Nv==2)
	{
		//sorteia numero 2	
		 int nivel21 = 1 + (int) (Math.random()*100);
		 int nivel22 = 1 + (int) (Math.random()*100);
		 //fim sorteio
		System.out.println("Quanto é "+nivel21+" / "+nivel22+"?");
		 Scanner nvl2 = new Scanner(System.in);
		 int nivl2 = Integer.parseInt(nvl2.nextLine());
		 if(nivl2==nivel21/nivel22)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Exelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else//Se a resposta estiver errada
		 {
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}
	//Fim nível 2

	 //Nível 3
	if (Nv==3)
	{
		//sorteia os números
		 int nivel31 = 1 + (int) (Math.random()*1000);
		 int nivel32 = 1 + (int) (Math.random()*1000);
		 //fim sorteio
		System.out.println("Quanto é "+nivel31+" / "+nivel32+"?");
		 Scanner nvl3 = new Scanner(System.in);
		 int nivl3 = Integer.parseInt(nvl3.nextLine());
		 if(nivl3==nivel31/nivel32)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Exelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else//Se a resposta estiver errada
		 {
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}
	//Fim nível 3
	n = n+1;
			
			}while(n<=9);
			 }
			////////////////////////////////FIM DIVISÃO//////////////////////////////

//////////////////////////////////////////////ADIÇÃO///////////////////////////////////////////////
if(op==3)
{
do{

		 //Nível 1
	if (Nv==1)
	{
		
		//sorteia numero 1
		 int nivel11 = 1 + (int) (Math.random()*10);
		 int nivel12 = 1 + (int) (Math.random()*10);
		 //fim sorteio

		 System.out.println("Quanto é "+nivel11+" + "+nivel12+"?");
		 Scanner nvl1 = new Scanner(System.in);
		 int nivl1 = Integer.parseInt(nvl1.nextLine());
		 if(nivl1==nivel11+nivel12)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Exelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else//Se a resposta estiver errada
		 {
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}
	//Fim nível 1
	
	 //Nível 2
	if (Nv==2)
	{
		//sorteia numero 2	
		 int nivel21 = 1 + (int) (Math.random()*100);
		 int nivel22 = 1 + (int) (Math.random()*100);
		 //fim sorteio
		System.out.println("Quanto é "+nivel21+" + "+nivel22+"?");
		 Scanner nvl2 = new Scanner(System.in);
		 int nivl2 = Integer.parseInt(nvl2.nextLine());
		 if(nivl2==nivel21+nivel22)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Exelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else//Se a resposta estiver errada
		 {
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}
	//Fim nível 2

	 //Nível 3
	if (Nv==3)
	{
		//sorteia os números
		 int nivel31 = 1 + (int) (Math.random()*1000);
		 int nivel32 = 1 + (int) (Math.random()*1000);
		 //fim sorteio
		System.out.println("Quanto é "+nivel31+" + "+nivel32+"?");
		 Scanner nvl3 = new Scanner(System.in);
		 int nivl3 = Integer.parseInt(nvl3.nextLine());
		 if(nivl3==nivel31+nivel32)
		 {//inicio se esteja certa a resposta
			 ac = ac+1;
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Muito bem!");
			 break;
			 case 2:
			 System.out.println("Exelente");
			 break;
			 case 3:
			 System.out.println("Bom trabalho!");
			 break;	 
			 case 4:
			 System.out.println("Certo. Continue assim!");
			 break;	 
			 	 }//fim do case
			 }//FIM se esteja certa a resposta
		 else//Se a resposta estiver errada
		 {
			 int resposta = 1 + (int) (Math.random()*4);
			 switch (resposta) {//começa o case
			 case 1:
			 System.out.println("Nao. Tente novamente, por favor.");
			 break;
			 case 2:
			 System.out.println("Errado. Tente mais uma vez.");
			 break;
			 case 3:
			 System.out.println("Nao desista!!");
			 break;	 
			 case 4:
			 System.out.println("Nao. Continue tentando.");
			 break;	 
			 }//fim case
		 }//Fim se a resposta estiver errada
	}
	//Fim nível 3
	n = n+1;
			 }while (n<9);
				 }
			////////////////////////////////FIM ADIÇÃO//////////////////////////////
			
			//////////////////////////////////////////////SUBTRAÇÃO///////////////////////////////////////////////
				if(op==4)
				{
					do{ 
			 
			 //Nível 1
		if (Nv==1)
		{
			
			//sorteia numero 1
			 int nivel11 = 1 + (int) (Math.random()*10);
			 int nivel12 = 1 + (int) (Math.random()*10);
			 //fim sorteio

			 System.out.println("Quanto é "+nivel11+" - "+nivel12+"?");
			 Scanner nvl1 = new Scanner(System.in);
			 int nivl1 = Integer.parseInt(nvl1.nextLine());
			 if(nivl1==nivel11-nivel12)
			 {//inicio se esteja certa a resposta
				 ac = ac+1;
				 int resposta = 1 + (int) (Math.random()*4);
				 switch (resposta) {//começa o case
				 case 1:
				 System.out.println("Muito bem!");
				 break;
				 case 2:
				 System.out.println("Exelente");
				 break;
				 case 3:
				 System.out.println("Bom trabalho!");
				 break;	 
				 case 4:
				 System.out.println("Certo. Continue assim!");
				 break;	 
				 	 }//fim do case
				 }//FIM se esteja certa a resposta
			 else//Se a resposta estiver errada
			 {
				 int resposta = 1 + (int) (Math.random()*4);
				 switch (resposta) {//começa o case
				 case 1:
				 System.out.println("Nao. Tente novamente, por favor.");
				 break;
				 case 2:
				 System.out.println("Errado. Tente mais uma vez.");
				 break;
				 case 3:
				 System.out.println("Nao desista!!");
				 break;	 
				 case 4:
				 System.out.println("Nao. Continue tentando.");
				 break;	 
				 }//fim case
			 }//Fim se a resposta estiver errada
		}
		//Fim nível 1
		
		 //Nível 2
		if (Nv==2)
		{
			//sorteia numero 2	
			 int nivel21 = 1 + (int) (Math.random()*100);
			 int nivel22 = 1 + (int) (Math.random()*100);
			 //fim sorteio
			System.out.println("Quanto é "+nivel21+" - "+nivel22+"?");
			 Scanner nvl2 = new Scanner(System.in);
			 int nivl2 = Integer.parseInt(nvl2.nextLine());
			 if(nivl2==nivel21-nivel22)
			 {//inicio se esteja certa a resposta
				 ac = ac+1;
				 int resposta = 1 + (int) (Math.random()*4);
				 switch (resposta) {//começa o case
				 case 1:
				 System.out.println("Muito bem!");
				 break;
				 case 2:
				 System.out.println("Exelente");
				 break;
				 case 3:
				 System.out.println("Bom trabalho!");
				 break;	 
				 case 4:
				 System.out.println("Certo. Continue assim!");
				 break;	 
				 	 }//fim do case
				 }//FIM se esteja certa a resposta
			 else//Se a resposta estiver errada
			 {
				 int resposta = 1 + (int) (Math.random()*4);
				 switch (resposta) {//começa o case
				 case 1:
				 System.out.println("Nao. Tente novamente, por favor.");
				 break;
				 case 2:
				 System.out.println("Errado. Tente mais uma vez.");
				 break;
				 case 3:
				 System.out.println("Nao desista!!");
				 break;	 
				 case 4:
				 System.out.println("Nao. Continue tentando.");
				 break;	 
				 }//fim case
			 }//Fim se a resposta estiver errada
		}
		//Fim nível 2
	
		 //Nível 3
		if (Nv==3)
		{
			//sorteia os números
			 int nivel31 = 1 + (int) (Math.random()*1000);
			 int nivel32 = 1 + (int) (Math.random()*1000);
			 //fim sorteio
			System.out.println("Quanto é "+nivel31+" - "+nivel32+"?");
			 Scanner nvl3 = new Scanner(System.in);
			 int nivl3 = Integer.parseInt(nvl3.nextLine());
			 if(nivl3==nivel31-nivel32)
			 {//inicio se esteja certa a resposta
				 ac = ac+1;
				 int resposta = 1 + (int) (Math.random()*4);
				 switch (resposta) {//começa o case
				 case 1:
				 System.out.println("Muito bem!");
				 break;
				 case 2:
				 System.out.println("Exelente");
				 break;
				 case 3:
				 System.out.println("Bom trabalho!");
				 break;	 
				 case 4:
				 System.out.println("Certo. Continue assim!");
				 break;	 
				 	 }//fim do case
				 }//FIM se esteja certa a resposta
			 else//Se a resposta estiver errada
			 {
				 int resposta = 1 + (int) (Math.random()*4);
				 switch (resposta) {//começa o case
				 case 1:
				 System.out.println("Nao. Tente novamente, por favor.");
				 break;
				 case 2:
				 System.out.println("Errado. Tente mais uma vez.");
				 break;
				 case 3:
				 System.out.println("Nao desista!!");
				 break;	 
				 case 4:
				 System.out.println("Nao. Continue tentando.");
				 break;	 
				 }//fim case
			 }//Fim se a resposta estiver errada
		}
		//Fim nível 3
		n = n+1;
				 }while (n<9);
			 }////////////////////////////////FIM SUBTRAÇÃO//////////////////////////////
			
	
	
	 System.out.println("Total de acertos: "+ac+" de "+10);
	 if(ac<75)
	 {
	 System.out.println("Por favor, solicite ajuda extra ao professor, pois você teve um aproveitamento de "+ac*10+"%");
	 }
	

	


		 
}//fim main

}

[/code]

Sei que ele poderia ser bem menor, mas devido a falta de conhecimento não consegui dar uma resumida nele para fazer a mesma coisa!

Dicas para encurtar esse menino ou para acrescentar algo? :smiley: