Olá pessoal eu quero a vossa ajuda para resolver este algoritmo…
andei escrevendo no papel esse algoritmo mas quando passei pra java não esta a funcionar direito.
O algoritmo vai gerar aleatóriamente um numero (n) e esse numero vai ser convertido em Binário e depois de ser convertido em binário o algoritmo vai percorer a array e analizar a posição dos numeros que se encontram na lista L. se encontrarem na posição 0 Fica na L2(lista 2) e o que se encontrar na posição 1 vai a lista L1. Ex:
L=[14,10,20,36]
*** 0 -1- 0 - 1
Binário = 1010
L1={36,10}
L2={14,20}
é isso-: será que alguem pode corigir o erro que esta a dar ai… Ja tentei mas nao consegui, e como sou novo a programar em java vim pedir a vossa ajudda.
obrigado a todos.
Bom, vamos lá.
Pelo que eu entendi, o erro está aqui
publicclassLista5{publicstaticvoidmain(String[]args,intj){int[]n=1+(int)10*Math.random();//isto retorna um double int[]L={2,4,9,12};for(inti=1;i<=limite;i++);//de onde vem a variável limite? for sem "corpo"? intn=0;//n já foi instanciado como array de intint[]mascara=converter(i,n);//de onde vem i?int[]L1=newint[n];int[]L2=newint[n];for(j=0;j<n;j++){if(mascara[j]==1)L1[j]=L[j];elseL2[j]=L[j];}System.out.println();}publicint[]convert(inti,intn);//método sem corpo? int[]resultado=newint[n];//de onde vem n?for(j=0<=n;j++){//j foi instanciado onde?resultado[n-j]=iMOD2;// o que é MOD? Para que serve? de onde vem esse n? e esse i?i=1/2;}returnresultado;}}
isso vai ajudar a corrigir algumas coisas
otniel
Vou esprimentar pra ver, obrigado pela ajuda…
otniel
pois… o problema é o seguinte é k eu nao sei como corigir esses erros…
Quando tento corigir aparece-me outro.
drsmachado
otniel:
pois… o problema é o seguinte é k eu nao sei como corigir esses erros…
Quando tento corigir aparece-me outro.
Vão aparecer inúmeros.
Mas precisa corrigi-los.
Vai modificando e tentando.
otniel
Consegui corigir alguns erros… e ficou desta forma… o unico erro que eu nao sei de onde vem é o (i). mas o (i) vem do ciclo for.
packagelista5;/** * * @author otniel */publicclassLista5{/** * @param args the command line arguments */publicstaticvoidmain(String[]args,intj,intlimite){// TODO code application logic hereintn=(int)(1+(int)10*Math.random());//isto retorna um double int[]L={2,4,9,12};for(inti=1;i<=limite;i++);int[]mascara=converter(i,n);int[]L1=newint[n];int[]L2=newint[n];for(j=0;j<n;j++){if(mascara[j]==1)L1[j]=L[j];elseL2[j]=L[j];}System.out.println();}publicint[]convert(inti,intn,intj){//método sem corpo? int[]resultado=newint[n];//de onde vem n? for(j=0;j<=n;j++){resultado[n-j]=i;// o que é MOD? Para que serve? de onde vem esse n? e esse i? i=1/2;}returnresultado;}}
otniel
otniel:
Consegui corigir alguns erros... e ficou desta forma... o unico erro que eu nao sei de onde vem é o (i). mas o (i) vem do ciclo for.
packagelista5;publicclassLista5{/** * @param args the command line arguments */publicstaticvoidmain(String[]args,intj,intlimite){// TODO code application logic hereintn=(int)(1+(int)10*Math.random());int[]L={2,4,9,12};for(inti=1;i<=limite;i++);int[]mascara=converter(i,n);int[]L1=newint[n];int[]L2=newint[n];for(j=0;j<n;j++){if(mascara[j]==1)L1[j]=L[j];elseL2[j]=L[j];}System.out.println();}publicint[]convert(inti,intn,intj){int[]resultado=newint[n];for(j=0;j<=n;j++){resultado[n-j]=i;i=1/2;}returnresultado;}}