Saida duplicata no for

2 respostas
G

Como faria para ter essa saida na minha rotina
1 10 20
100 200 125
201 210 89
900 1000 174

Eu to tendo problema no ultimo for… ele ta saindo duplicado…
alguem saberia onde to errando?
grato

2 Respostas

B

Ola,

Pô, posta o codigo ae pra gente dar uma olhada…

G

import javax.swing.*;

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

// Bloco contendo os intervalos de numeros; 
  int con[][] = new int[4][1]; 
  // Variaveis para entradas/saidas dos intervalos 
  String in,out; 
  // vetores do array e regras; 
  int x,y,maior = 0,aux = 0,n1 =0,t=0,n2 = 0; 
  int cp = 0,ci = 0, ct = 0; 
   
   
   
  // for para colocar valores de entrada; 
  for(int i=0; i<con.length;i++){ 
     in = JOptionPane.showInputDialog("Digite as entradas dos intervalos"); 
     x = Integer.parseInt(in); 
     if((x>0)&&(x<1000000)){ 
     con[i][0]=x; 
         
     }else{ 
     break; 
     } 
      
     // For para colocar valores de saida; 
     for(int j=0; j< con[i].length;j++){ 
        out = JOptionPane.showInputDialog("Digite as saidas dos intervalos"); 
        y = Integer.parseInt(out); 
        if((y>0)&&(y<1000000)){ 
        con[0][j] = y; 
         
        }else{ 
           break; 
        } 
      
     for(int r = x; r<=y; r++){ 
        if(r==1) 
     continue; 
     n1 = r; 
     while(n1!=1){ 
        t = n1 % 2; 
        if(t==0){ 
           n1 /= 2; 
           cp += 1; 
        }else{ 
           n1 = ((3 * n1) + 1); 
           ci += 1; 
        } 
     } 
     ct = cp + ci + 1; 
     n2 = ct; 
     if(n2> maior){ 
        aux = n2; 
        maior = aux; 
     } 
      
    
     cp = ci = ct = aux = n2 =0; 
     } 
     System.out.println(x +" "+ y +" "+ maior); 
      
         } 
      
  } 
  System.exit(0);

}
}

Criado 15 de março de 2007
Ultima resposta 15 de mar. de 2007
Respostas 2
Participantes 2