Ajuda com 2 códigos e dúvidas

21 respostas
A

Galera é o seguinte olhem esses 2 códigos…

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

String[] wordListOne = {24/7, várias camadas, 30.000 pés, B-to-B, todos ganham, front-end, baseado na Web, difundido, inteligente, seis sigma, caminho crítico, dinâmico};

String[] wordListTwo = {habilitado, adesivo, valor agregado, orientado, central, distribuído, agrupado, solidificado, independente da máquina, posicionado, em rede, dedicado, alavancado, alinhado, destinado, compartilhado, cooperativo, acelerado};

String[] wordListTree = {processo, ponto máximo, solução, arquitetura, habilitação no núcleo, estratégia, mindshare, portal, espaço, visão, paradigma, missão};
int oneLength = wordListOne.length;

int twoLength = wordListTwo.length;

int threeLength = wordListThree.length;
int rand1 = (int) (Math.random() * oneLength);

int rand2 = (int) (Math.random() * twoLength);

int rand3 = (int) (Math.random() * threeLength);
String phrase = wordListOne[rand1] + " " + wordListTwo[rand2] + " " + wordListThree[rand3];

System.out.println("Precisamos de " + phrase);

}

}

desse jeito ele da erro, n compila (estou “fazendo” pelo dos)…
agora assim ele roda…

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

String[] Word1 = {24/7, várias camadas, 30.000 pés, B-to-B, todos ganham, front-end, baseado na Web, difundido, inteligente, seis sigma, caminho crítico, dinâmico};

String[] Word2 = {habilitado, adesivo, valor agregado, orientado, central, distribuído, agrupado, solidificado, independente da máquina, posicionado, em rede, dedicado, alavancado, alinhado, destinado, compartilhado, cooperativo, acelerado};

String[] Word3 = {processo, ponto máximo, solução, arquitetura, habilitação no núcleo, estratégia, mindshare, portal, espaço, visão, paradigma, missão};
int oneLength = Word1.length;

int twoLength = Word2.length;

int threeLength = Word3.length;
int rand1 = (int) (Math.random() * oneLength);

int rand2 = (int) (Math.random() * twoLength);

int rand3 = (int) (Math.random() * threeLength);
String phrase = Word1[rand1] + " " + Word2[rand2] + " " + Word3[rand3];

System.out.println("Precisamos de " + phrase);

}

}

agora pq o 1 n roda ?

e o segundo é esse aqui

class Shuffle1 {

public static void main(String [] args) {

int x = 3;
while (x > 0); {
    if (x > 2 ) {
        System.out.print("a");
    }
    x = x - 1;
    System.out.print("-");
    if (x == 2); {
        System.out.print("b  c");
    }
    if (x == 1); {
        System.out.print("d");
        x = x - 1;
     }
   }
 }

}
ele compila mas na hora de rodar n roda fica “pensando” e nada…
e mais uma dúvida se minha classe se chamar “Telefone” tenho q salvar o arquivo com o nome “Telefone” certo ?

21 Respostas

Marky.Vasconcelos

quando postar códigos coloque entre as tags [CODE]
sobre o Telefone sim salve com o nome da classe
o primeiro não entendi pq não funciona
e o segundo vo explica

class Shuffle1 { 
public static void main(String [] args) { 
int x = 3; 

while (x > 0); { 
// aqui da pra explica
//quando você não abre colchetes para encapsular os comandos for, if, //while executam a proxima linha enquanto a informação continuar //verdadeira
//no caso enquanto 3>0 vai executar a proxima linha que é ; então x não //diminui e o progroma continua

ou algo parecido

Marky.Vasconcelos

Desculpa não ver o intuito da questão e não ter respondido
não sei pq veio na minha cabeça de explica
ainda errei sobre o ultimo if
eu to analizando e falo se ver algo

A
Mark_Ameba:
quando postar códigos coloque entre as tags
sobre o Telefone sim salve com o nome da classe
o primeiro não entendi pq não funciona
e o segundo vo explica
[code]
class Shuffle1 { 
public static void main(String [] args) { 
int x = 3; 

while (x > 0); { //Enquando x for maior que 0 continue
if (x > 2 ) { //se x for maior que 2
System.out.print("a"); //imprima a(o programa imprimi a na primeira vez porque x é 3 e 3 > 2)
} 
x = x - 1; // x é igual a ele mesmo -1(resultado x=2)
System.out.print("-"); //imprimi -
if (x == 2); { se x referenciar ao valor 2
System.out.print("b c"); //imbrimir b c
} 
if (x == 1); { //aqui x não passa na primeira volta pq ainda vale 2
System.out.print("d"); 
x = x - 1; //x diminui 1 novamente e passa a valer um
//o loop volta passa no ultimo if e imprimi d
} 
} 
} 
}

Exatamente desse jeito mesmo, mas pq ele não roda ?ele compila mas quando é para rodar ele fica processando...processando e processando...e nada.

Marky.Vasconcelos

Já respondi no edit do primeiro post;
veja que só esse código já compila

class Shuffle1 { 
 public static void main(String [] args) { 
 int x = 3; 
 
 while (x > 0); 
 } 
 }
Marky.Vasconcelos

sobre o primeiro
ambos funcionam mas no primeiro
voce instancia a array como
wordListTree
e chama com os metodos a frente wordListThree
esse h amais não deixa compila

A

Mark_Ameba:
sobre o primeiro
ambos funcionam mas no primeiro
voce instancia a array como
wordListTree
e chama com os metodos a frente wordListThree
esse h amais não deixa compila

Amigo realmente o erro do 1 é esse, programação é f*** qualquer deslize vc erra hehehe valeu amigo.

Marky.Vasconcelos

do 2 já viu a resposta?

A

o 2 no Netbeans aki ele roda blz agora no dos n roda compila mas n roda.

Marky.Vasconcelos
Mark_Ameba:
class Shuffle1 { 
public static void main(String [] args) { 
int x = 3; 

while (x > 0); { 
// aqui da pra explica
//quando você não abre colchetes para encapsular os comandos for, if, //while executam a proxima linha enquanto a informação continuar //verdadeira
//no caso enquanto 3>0 vai executar a proxima linha que é ; então x não //diminui e o progroma continua
ou algo parecido

Conseguiu entender?

Mark_Ameba:
pode ver que esse código roda e da o mesmo resultado(nada) [code] int x=3; while(x > 0) ;
A

Não entendi, vc fala q para os comandos, if, while, for etc…precisa ser aberto com { (chaves) sim eu abri o while com a { e fechei.

diego2005

É que você colocou um ; depois do while:

while (x > 0); // não tem esse ponto e vírgula { }

e o que ele falou foi pra você colocar o { logo depois do while:

while (x > 0) { }

T+

Marky.Vasconcelos

roda esses dois códigos e ve se entende
com chaves

int i = 3;

while(i>0){
System.out.println(i);
i--;
}

sem chaves

int i =3;
while(i>0)
System.out.println(i);
i--;
A

nossa senhora na minha cara e eu nem vi, então os testes condicionais e os loops naum precisam ser fechados com ponto e virgula ?

A

mais uma dúvida aki como q o"java" sabe q tem q colocar um - entre o C e o D ?

diego2005

Cuma???

A

?

diego2005

Não entendi a sua dúvida…

A

nossa esquece viajei cara.

Marky.Vasconcelos

eu quis dizer que eles não precisam ser abertos e fechados com chaves
isso seria no caso de ter que rodas duas linhas de codigo
sem as chaves eles executam a proxima linha

eu não entendi esse do C - D

A

eu quis dizer que eles não precisam ser abertos e fechados com chaves
isso seria no caso de ter que rodas duas linhas de codigo
sem as chaves eles executam a proxima linha

eu não entendi esse do C - D

Muito obrigado amigo.

T

tenta colocar :

System.out.print(“c - d”);

Criado 31 de julho de 2007
Ultima resposta 31 de jul. de 2007
Respostas 21
Participantes 4