Ajuda em um código simples, estou começando no Java e não entendi o erro que cometi. não sei se é na lógica que q eu arrumei

5 respostas
java
J1mmy

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

int X = 1;
    int Y = 0;
  
    boolean Z = X == Y;

    if(Z = true){
            while (Z >10){
            System.out.print(Z);
            Z = Z + 10;
}

}

}

}

5 Respostas

TerraSkilll

Descreva o que você esperava obter com esse código e o que está acontecendo de errado.

Abraço.

J1mmy

Kkk vlws mas nem eu tô entendendo mais oq era para fazer problema de logica

rodriguesabner

Mostra a questao então

J1mmy

Mudei o código mas dá erro novamente se liga

int X = 0;
int Y = 0;

boolean Z = X>;=Y;

if (Z=false){

while (X>=Y){

System.out.println(Z);

Z= X + 1;

}

}

Aí dá erro na última linha: incompatible types: int cannot be converted to boolean

Z = X + 1;
^

Isso era para o while aumentar o valor do X caso a Var booleana Z fosse falsa, igualando o X ao Y.

pmlm

Para comparação se usam dois simbolos de igual. Deve ficar

if (Z == false) {

Ou, simplificando, uma vez que Z já é boolean, queremos simplesmente “se não Z”

if (!Z) {

Se queres aumentar o valor de X, porque estás a atribuir algo a Z?

X = X + 1;

Tem atenção que aqui X ja vai ser maior que Y, logo vais estar infinitamente a aumentar X. O que deves querer é aumentar Y. E tens de voltar a recalcular Z, que o seu valor nao muda só porque mudas X ou Y. E não precisas do if e do while, já que ambos estão a avaliar a mesma condição

int X = 0;
int Y = 0;

boolean Z = X>=Y;

while (Z){
    System.out.println(Z);
    Y = Y + 1;
    Z = X>=Y;
}
Criado 31 de maio de 2020
Ultima resposta 1 de jun. de 2020
Respostas 5
Participantes 4