Problema no and ou na variavel?[RESOLVIDO]

8 respostas
R

Pessoal mais to com mais um probleminha…

Seguinte apos eu escolher cadastrar cliente eu nao quero que ele cadastre 100 cliente quero que o cadastro so continue se o usuario quiser, entao na condicao coloquei se o continuar == 1 junto com a condicao <100 cadastros, porem ta dando erro nao fasso a minima pq.

Enunciado: Cocota é dona de uma mercearia, e criou uma lista com seus clientes preferenciais. Crie um programa que dona Cocota insira um cliente e visualize sua lista. (obs. Ela escolhe se quer inserir um cliente ou visualizar lista, o numero máximo de clientes é 100).

Meu Código:

package exercicio2;

import javax.swing.*;

public class Main {

public static void main(String[] args) {

    String opcao = JOptionPane.showInputDialog("1 para visualizar lista outros numeros para inserir novo cliente");
    int opcao1 = Integer.parseInt(opcao);
    String cliente[] = new String[100];
    int contador = 0;
    String continuar = "1";
if (opcao1==1){

for (int i=0;i<100;i++){

JOptionPane.showMessageDialog(null,cliente[i]);
}
}else{

while(contador<100 && continuar == 1){      ====>>>> Linha do Erro

cliente[contador]=JOptionPane.showInputDialog(Insira novo cliente);

continuar = JOptionPane.showInputDialog(Deseja inserir outro cliente? 1-SIM , outros -NAO);
}

}

}

}

8 Respostas

T

Se você aprendeu direito C++, conforme você afirmou antes, teria visto que ints e strings são diferentes. (Em C++ há int e char*). Você está confundindo as coisas. Maçãs são maçãs e tomates são tomates.

R

cara desculpa ai se ofendi alguem mais da pra vc ser mas preciso???

eu tinha convertido pra int antes mais mesmo assim nao adiantava, vou tentar denovo…

Thiago_MuiLoko

Amigo… vamos lá, primeiramente use a tag code nos seus posts (ele fica mais legivel e mais facil de identificar…)

O que o thingol uiz dizer eh que na linha:

continuar = JOptionPane.showInputDialog("Deseja inserir outro cliente? 1-SIM , outros -NAO");

Vc esta recebendo uma string e esta comparando como se fosse int em:

while(contador<100 && continuar == 1){

Portanto vc deve mudar essa bagaça senão não vai rolar :wink:

Abs

R

Ok…

COnsegui aqui logo apos ele falar eu dei uma rechecada e consegui

agora meu problema é que apos eu inserir clientes nao quero que o programa feche quero retornar ao inicio, pra poder realmente ver que foram inseridos clientes.(quanto a tag color criei minha conta hoje e nao sei o que se ta falando, so muito noob mesmo kkk)

O codigo agora ta assim: Aparentemente nao tem erro mais fica o que meu professor chamava de loopig infinito, ou vazio como queriam xD

package exercicio2;

import javax.swing.*;

public class Main {

public static void main(String[] args) {

    String opcao = JOptionPane.showInputDialog("1 para visualizar lista outros numeros para inserir novo cliente");
    int opcao1 = Integer.parseInt(opcao);
    String cliente[] = new String[100];
    int contador = 0;
    int continuar1 =1;
    int retornar1 = 0;

do{

if (opcao1==1){

for (int i=0;i<100;i++){

JOptionPane.showMessageDialog(null,cliente[i]);
}

}else{
while(contador<100 && continuar1 == 1){

cliente[contador]=JOptionPane.showInputDialog("Insira novo cliente");
            String continuar = JOptionPane.showInputDialog("Deseja inserir outro cliente? 1-SIM , outros -NAO");
            continuar1 = Integer.parseInt (continuar);

        }

}

String retornar = JOptionPane.showInputDialog("Deseja retornar ao inicio? 1-SIM / Outros - NAO");
    retornar1 = Integer.parseInt(retornar);
    
    
    
    }while(retornar1 ==1 );

}

}

ViniGodoy

E a tag code, cadê? Se não sabe usar, leia o tópico:
http://www.guj.com.br/posts/list/50115.java

R

Deu uma lida basica no sobre tag code e dei uma arrumada basica no meu program

fico assim galera, so que nao sei pq esse potchoca na hora de visualizar os cadastros nao começa do primeiro indice.

package exercicio2;

import javax.swing.*;

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

        int retornar1 = 0;
        String cliente[] = new String[100];
        int contador = 0;
        int continuar1 =1;
        do{
        String opcao = JOptionPane.showInputDialog("1 para visualizar lista outros numeros para inserir novo cliente");
        int opcao1 = Integer.parseInt(opcao);

        
        



if (opcao1==1){
    for (int i=0;i<100;i++){
        JOptionPane.showMessageDialog(null,cliente[i]);

    }

}else{
            while(contador<100 && continuar1 == 1){

                cliente[contador]=JOptionPane.showInputDialog("Insira novo cliente");
                String continuar = JOptionPane.showInputDialog("Deseja inserir outro cliente? 1-SIM , outros -NAO");
                continuar1 = Integer.parseInt (continuar);

            }
}
        
        String retornar = JOptionPane.showInputDialog("Deseja retornar ao inicio? 1-SIM / Outros - NAO");
        retornar1 = Integer.parseInt(retornar);
        
        
        
        }while(retornar1 ==1 );

    }

}
R

Galera consegui

USHAUSHUAHSSA

faltava so colocar um incremento no contador se nao ele ia adicionar tudo no primeiro indice

R

Converte continuar pra String.
Faça assim…

  1. continuar = Integer.parseint(JOptionPane.showInputDialog(“Deseja inserir outro cliente? 1-SIM , 2 - NAO”));
Criado 3 de novembro de 2009
Ultima resposta 3 de nov. de 2009
Respostas 8
Participantes 5