Teste de Personalidade em Java

3 respostas
C

Amigos, tempos que não vejo java, será que da pra dar uma melhorada nesse código ou está bom assim mesmo? Podem dar uma ajudinha? Este código depois vou converter para PHP pois ele será exibido como um formulário com integração de arquivo PHP para o usuário realizar o teste.

package apm;

import java.io.IOException;


public class Apm {

    public static void main(String[] args) throws IOException {
             
        
        int i;
        int somaf=0, somat=0, somaj=0,somap=0,somas=0, soman=0, somae=0, somai=0;
        char r1, r2, r3, r4, r5, r6, r7, r8, r9, r10;
        char resultft, resultjp, resultsn, resultie;
             
       
        
           r1 = InOut.leChar("Valorizo muito a harmonia. Evito confrontos pois acredito serem menos eficazes que acordos mútuos. f=Concordo ou t=Discordo");   
           r2 = InOut.leChar("Trabalho melhor com mudanças e imprevistos. Gosto de novidades. Creio que não há nada pior para uma pessoa que viver uma vida monótona em casa e no trabalho. n=Concordo ou s=Discordo");   
           r3 = InOut.leChar("Prefiro lugares animados. Aprendo melhor interagindo. Prefiro atividades dinâmicas como fazer esportes, conversar com amigos. e=Concordo ou i=Discordo");   
          /* r4 = InOut.leChar("Sinto-me bem com rotina; para mim metodologias e rotinas são infalíveis. A rotina me traz conforto e segurança.  j=Concordo ou p=Discordo");   
           r5 = InOut.leChar("Responda5");   
           r6 = InOut.leChar("Responda6");   
           r7 = InOut.leChar("Responda7");   
           r8 = InOut.leChar("Responda8");   
           r9 = InOut.leChar("Responda9");   
           r10 = InOut.leChar("Responda10");  
                           
         
           */
           
         //  char[] resposta = new char[10];//aqui reservo espaço de memoria e defino o tamanho do vetor, assim colo são 10 perguntas
                                //reservo 10 posições para 10 respostas 
      
        //  for(i=0;i < 10; i++){
       
            if(r1 == 'f'){
            
                somaf=somaf+1;
                }else{
            
                    somat=somat+1;
            }   
            
            if(r2 == 'n'){
            
                soman=soman+1;
                }else{
            
                somas=somas+1;
            }   
            
            if(r3 == 'f'){
            
                 somaf=somaf+1;
                    }else{
                 somat=somat+1;
            }    
            
            if(r4 == 'e'){
            
                            somae=somae+1;
                        }else{
            
                            somai=somai+1;
                
            
            }
         
                    //}
         if(somaf > somat){
         
              resultft = 'F';
         }else{
              resultft = 'T';
         }
         
         if(somaj > somap){
         
              resultjp = 'J';
         }else{
               resultjp = 'P';
         }
         
         if(somas > soman){
         
             resultsn = 'S';
         }else{
               resultsn = 'N';
         }
         
          if(somai > somae){
         
                resultie = 'I';
            
         }else{
               resultie = 'E';
         }
         
        System.out.println("Sua personalidade contem as letras"+resultft +resultjp +resultsn +resultie +"nao necessariamente nesta ordem" );
        
    }
}

3 Respostas

C

Alguém pode ajudar?

douglaskd

uma pitadinha de O.O

// --------------Classe Pergunta ----------------

public class Pergunta{


public char letraConcordo;

public char letraDiscordo;

private int qtdLetraConcordo;

private int qtdLetraDiscordo;

public String Pergunta;


public Pergunta(char letraConcordo,char letraDiscordo,String Pergunta){

this.letraConcordo = letraConcordo;
this.letraDiscordo = letraDiscordo;
this.Pergunta = Pergunta;

}

public void realizaPergunta(){

letra = InOut.leChar(this.Pergunta + "Concordo: " + letraConcordo + ". Discordo: " + LetraDiscordo);

if(letra == letraConcordo){
      qtdLetraConcordo++;
}
if(letra == letraDiscordo){
      qtdLetraDiscordo++;
}
else {
System.Out.Println("Letra Invalida, digite " + letraConcordo + "ou" + letraDiscordo);
RealizaPergunta();
}

public char getLetra(){

if(qtdLetraConcordo > qtdLetraDiscordo){
return letraConcordo;
}
else{
return letraDiscordo;
}
}

}


// -------------- Main --------------------

package apm;  
  
import java.io.IOException;

public static void main(String[] args) throws IOException {

//fazer todas as perguntas nesse exemplo:

Pergunta pergunta1 = new Pergunta('f','t',"Valorizo muito a harmonia. Evito confrontos pois acredito serem menos eficazes que acordos mútuos. f=Concordo ou t=Discordo");

pergunta1.RealizaPergunta();

//pergunta2
//pergunta3 etc...

System.out.println("Sua personalidade contem as letras" + Pergunta1.getLetra() + Pergunta2.getLetra() +"...etc" + "nao necessariamente nesta ordem");


}
Tchello

Também considere externalizar as Strings.

Criado 3 de março de 2012
Ultima resposta 6 de mar. de 2012
Respostas 3
Participantes 3