Java métodos (Fundamentos Programaçao)

4 respostas
B

Gente preciso de uma ajuda fiz um programa que tem 2 métodos alem do main para um programa que pede o numero do codigo e sai em codigo de barra, mais precisamente | e : e até ai tudo bem porem agora preciso um que a pessoa digita o codigo em | e : e tem que sair os números e tudo isso tem que ser pelo método porem nao estou sabendo fazer a comparação, o outro metodo que recebe em char e diz o numero tem que estar nesse metodo, os codigos de barra tem 32 | e : , o primeiro e o ultimo sao obrigatoriamente |, sao em conjunto de 5 por favor me ajudem

.....
public static void imprimeCodigoBarra(String zipCode){  
       for(int i = 1; i <= zipCode.length()-1;i++){  
          if(zipCode.equals(":::||")){
            char c = '1';  
            System.out.print(imprimeDigito(c));// o outro metodo recebe em char 
            }
          else if (zipCode.equals("::|:|")){
             char m = '2';
            System.out.print(imprimeDigito(m)); 
            }
          else if(zipCode.equals("::||:")){
              char e = '3';
            System.out.print(imprimeDigito(e));
            }
          else if(zipCode.equals(":|::|")){
             char r = '4';
            System.out.print(imprimeDigito(r));
            }
          else if(zipCode.equals(":|::|")){
            char t = '5';
            System.out.print(imprimeDigito(t));
            }
          else if(zipCode.equals(":||::")){
              char f = '6';
            System.out.print(imprimeDigito(f));
            }
          else if(zipCode.equals("|:::|")){
              char y = '7';
             System.out.print(imprimeDigito(y));
            }
          else if(zipCode.equals("|::|:")){
              char h = '8';
            System.out.print(imprimeDigito(h));
            }
          else if(zipCode.equals("|:|::")){
              char p = '9';
            System.out.print(imprimeDigito(p));
            }
          else if(zipCode.equals("||:::")){
             char l = '0';
            System.out.print(imprimeDigito(l));
            }
        }
    }
}

4 Respostas

staroski

Porque esses if estão dentro de um for se tu não usa o contador i pra nada?

Posta o código completo da classe.

B
import java.util.Scanner;

public class CodigoDeBarra

{

public static void main(String args[])

{

Scanner in = new Scanner(System.in);

String codigoBarra;
System.out.print("Digite um código de barra com | e :  ");
 codigoBarra = in.next();
 
 
   imprimeCodigoBarra(codigoBarra);
}

public static char imprimeDigito(char d)

{

if(d == 1){

System.out.print(1);

}

else if (d == 2){

System.out.print(2);

}

else if(d == 3){

System.out.print(3);

}

else if(d == 4){

System.out.print(4);

}

else if(d == 5){

System.out.print(5);

}

else if (d == 6){

System.out.print(6);

}

else if (d == 7){

System.out.print(7);

}

else if (d == 8){

System.out.print(8);

}

else if (d == 9){

System.out.print(9);

}

else if (d == 0){

System.out.print(0);

}

return d;

}

public static void imprimeCodigoBarra(String zipCode){

for(int i = 1; i <= zipCode.length();i++){

if(zipCode.equals(":::||")){

char c = 1;

System.out.print(imprimeDigito©);

}

else if (zipCode.equals("::|:|")){

char m = 2;

System.out.print(imprimeDigito(m));

}

else if(zipCode.equals("::||:")){

char e = 3;

System.out.print(imprimeDigito(e));

}

else if(zipCode.equals(":|::|")){

char r = 4;

System.out.print(imprimeDigito®);

}

else if(zipCode.equals(":|::|")){

char t = 5;

System.out.print(imprimeDigito(t));

}

else if(zipCode.equals(":||::")){

char f = 6;

System.out.print(imprimeDigito(f));

}

else if(zipCode.equals("|:::|")){

char y = 7;

System.out.print(imprimeDigito(y));

}

else if(zipCode.equals("|::|:")){

char h = 8;

System.out.print(imprimeDigito(h));

}

else if(zipCode.equals("|:|::")){

char p = 9;

System.out.print(imprimeDigito§);

}

else if(zipCode.equals("||:::")){

char l = 0;

System.out.print(imprimeDigito(l));

}

}

}

}
D

Acho que falta separar o código em bloco e comparar com os códigos definidos para achar o digito.

//
// for(int i = 1; i <= zipCode.length()-1;i++){  
//   if(zipCode.equals(":::||")){

for(int i = 1; i < zipCode.length() -1; i = i + 5){
  String bloco = zipCode.substring(i, i + 5);
  if(bloco.equals(":::||")){
B

mas ainda da erro, o numero ta se repetindo

Criado 22 de maio de 2020
Ultima resposta 22 de mai. de 2020
Respostas 4
Participantes 3