I am working on java programming that converts zipcode to ba

I am working on java programming that converts zipcode to barcode and vice versa. I am stuck in as the instruction requires that I have to use two methods which are getBarcode and getZipcode to the tester. For this reason, it seems like that I have to call all the methods before those two methods. However, I think the if statements and swich are not working properly as the result also is not calling proper results.

Please review what is wrong in this code.

Question: How can I call the methods before getBarcode and getZipcode Question: Is there anything wrong among switch and if statements?

Question: As the zipcode and barcode should be called as String, Which methods should I use for changing the Strings into integers?

import java.util.Scanner;

//*********************************
//
// Zipcode class  
//
// This is a template for your Zipcode class
// You may add methods and instance variables to this
// class but your code must work with the provided test class ZipTest.java
//
//*********************************


public class Zipcode{

    private String zipcode = \"\";
    private String barcode = \"\";
    private static int zip;
    private static String str;
   
    public int digit1;
    public int digit2;
    public int digit3;
    public int digit4;
    public int digit5;
    public int checkDigit;
  
    public static String number;
    public static String bar1;
   public static String bar2;
   public static String bar3;
   public static String bar4;
   public static String bar5;
   public static String bar6;
   public static String bar7;
   public static String bar8;
   public static String bar9;
   public static String bar0;
   public static String temp;
  
   public static int option() {
      System.out.println(\"Enter 1 : Zipcode to Barcode \");
      System.out.println(\"Enter 2 : Barcode to Zipcode \");
      Scanner in = new Scanner(System.in);
      System.out.println( \"Enter the option : \" );
     
      return in.nextInt();
   }

   public Zipcode() {

     
      bar0 = \"||:::\";
      bar1 = \":::||\";
      bar2 = \"::|:|\";
        bar3 = \"::||:\";
        bar4 = \":|::|\";
        bar5 = \":|:|:\";
        bar6 = \":||::\";
        bar7 = \"|:::|\";
        bar8 = \"|::|:\";
        bar9 = \"|:|::\";
       

          //barcode concatenates as the loop interates each digit
    
        getBar(digit1);
        getBar(digit2);
        getBar(digit3);
        getBar(digit4);
        getBar(digit5);
        getBar(checkDigit);
   }
  
   public Zipcode(int zip) {
      this.getDigit(zip);
   }
  
   public void error() {
      while((zip<01001) || (zip>99950)) {
         System.out.println(\"Error\");
         System.out.println(\"You should enter ZIPCODE between 01001 and 99950\");
         System.out.println(\"Please, enter another ZIPCODE\");
      }
   }

   public int getDigit(int zip){
        int zip = Integer.parseInt(zipcode);
       digit1 = zip/10000;
       digit2 = ((zip/1000)-digit1*10);
       digit3 = (zip/100 - (digit1*100 + digit2*10));
       digit4 = (zip/10 -(digit1*1000 + digit2*100 + digit3*10));
       digit5 = (zip - (digit1*10000 + digit2*1000 + digit3*100 + digit4*10));

       int sum = digit1+digit2+digit3+digit4+digit5;
       int checkDigit = (10-(sum%10));
       if(checkDigit == 10) {
          System.out.println(\"Check Digit : \" + 0);
       } else {
       System.out.println(\"Check Digit : \" + checkDigit);
       }

    // add your own code here to
    // to complete the constructor
   System.out.println(\"**** BARCODE ****\");

       return zip;
    }
    public void getBar(int x) {
      
        switch(x) {
          case 0: barcode = bar0 + barcode;
          break;
          case 1: barcode = bar1 + barcode;
          break;
          case 2: barcode = bar2 + barcode;
          break;
          case 3: barcode = bar3 + barcode;
          break;
          case 4: barcode = bar4 + barcode;
          break;
          case 5: barcode = bar5 + barcode;
          break;
          case 6: barcode = bar6 + barcode;
          break;
          case 7: barcode = bar7 + barcode;
          break;
          case 8: barcode = bar8 + barcode;
          break;
          case 9: barcode = bar9 + barcode;
          break;
        }
        barcode = \"|\" + barcode + \"|\";

   }

   // you will need to add more your own methods here

    public String getBarcode(){
      
   //leave this method as is
        return barcode;
    }
    //method that changes barcode to Zipcode

   
    public static void divide(String temp) {
       Zipcode postal = new Zipcode();
        str = temp.substring(0,5);
        postal.getZipcode(str);

        str = temp.substring(5,10);
        postal.getZipcode(str);

        str = temp.substring(10,15);
        postal.getZipcode(str);

        str = temp.substring(15,20);
        postal.getZipcode(str);

        str = temp.substring(20,25);
        postal.getZipcode(str);
    }

    public String getZip(String temp) {
      
       String number = \"\";
       if( temp.equals(bar1) )
             number = number + \"0\";  
       if ( temp.equals(bar2) )
             number = number +\"1\";
       if( temp.equals(bar3) )
             number =number + \"2\";
       if( temp.equals(bar4) )
             number = number +\"3\";
       if( temp.equals(bar5) )
            number = number +\"4\";
       if( temp.equals(bar6) )
            number = number +\"5\";
       if( temp.equals(bar5) )
            number = number +\"6\";
       if( temp.equals(bar6) )
            number = number +\"7\";
       if( temp.equals(bar7) )
            number = number +\"8\";
       if( temp.equals(bar8) )
            number = number +\"9\";
      return number;

    }
    public String getZipcode()
    {
       return zipcode;

    }

}

Solution

import java.util.Scanner;

public class Postal
{
public int num2; // 10000 digit
public int num3; // 1000 digit
public int num4; // 100 digit
public int num5; // 10 digit
public int num6; // 1 digit
public int checkDig; // check digit
public static int num;
public static String temp;
public static int menu;
public static int zip;
public static String bar0;
public static String bar1;
public static String bar2;
public static String bar3;
public static String bar4;
public static String bar5;
public static String bar6;
public static String bar7;
public static String bar8;
public static String bar9;
public static String str;
public static int numb;

public Postal()
{
zip = 0;

bar0 = \"||:::\"; bar1 = \":::||\"; bar2 = \"::|:|\";
bar3 = \"::||:\"; bar4 = \":|::|\"; bar5 = \":|:|:\";
bar6 = \":||::\"; bar7 = \"|:::|\"; bar8 = \"|::|:\";
bar9 = \"|:|::\";

}

public static int getZIP()
{
System.out.println(\"Enter a ZIP code : \");
Scanner sc = new Scanner(System.in);
zip = sc.nextInt();
while((zip<01001)||(zip>99950))
{
System.out.println(\"**** ERROR ****\");
System.out.println(\"The ZIP code must be between 01001 and 99950\");
System.out.println(\"Please,enter the correct zip : \");
zip = sc.nextInt();
}
return zip;
}
public static int menu()
{
System.out.println(\"**** Zip & Bar Code Convertor ****\");
System.out.println(\"Choose one option from following : \");
System.out.println(\"1) Create ZIP barcode \");
System.out.println(\"2) Find ZIP code from barcode \");
System.out.println(\"3) Exit \");
Scanner sc = new Scanner(System.in);
return sc.nextInt();
}

public void getDigit(int num)
{
num2 = num/10000;
num3 = ((num/1000)-num2*10);
num4 = (num/100 - (num2*100 + num3*10));
num5 = (num/10 -(num2*1000 + num3*100 + num4*10));
num6 = (num - (num2*10000 + num3*1000 + num4*100 + num5*10));

checkDig = 100- (num2+num3+num4+num5+num6);
System.out.println(checkDig);

while(checkDig>10)
{ checkDig -= 10; }
System.out.println(\"**** BARCODE ****\");
System.out.print(\"|\");
getBar(num2);
getBar(num3);
getBar(num4);
getBar(num5);
getBar(num6);
getBar(checkDig);
System.out.print(\"|\");

}
public void getBar(int x)
{

switch(x)
{
case 0: System.out.print(bar0); break;
case 1: System.out.print(bar1); break;
case 2: System.out.print(bar2); break;
case 3: System.out.print(bar3); break;
case 4: System.out.print(bar4); break;
case 5: System.out.print(bar5); break;
case 6: System.out.print(bar6); break;
case 7: System.out.print(bar7); break;
case 8: System.out.print(bar8); break;
case 9: System.out.print(bar9); break;
}
}
public static String number()
{
System.out.println(\"Enter a barcode with using : or | \");
Scanner scn = new Scanner(System.in);
String bar = scn.nextLine();
return bar;
}

public static void getNumber(String temp)
{
System.out.println(\"\");
System.out.println(temp);
if(temp.equals(bar0))
{
       numb = 0;
   }
if(temp.equals(bar1))
{
       numb = 1;
   }
if(temp.equals(bar2))
{
       numb = 2;
   }
if(temp.equals(bar3))
{
       numb = 3;
   }
if(temp.equals(bar4))
{
       numb = 4;
   }
if(temp.equals(bar5))
{
       numb = 5;
   }
if(temp.equals(bar6))
{
       numb = 6;
   }
if(temp.equals(bar7))
{
       numb = 7;
   }
if(temp.equals(bar8))
{
       numb = 8;
   }
if(temp.equals(bar9))
{
       numb = 9;
   }
System.out.print(numb);
}
public static void divide(String temp)
{
Postal po = new Postal();
str = temp.substring(1,6);
po.getNumber(str);
str = temp.substring(6,11);
po.getNumber(str);
str = temp.substring(11,16);
po.getNumber(str);
str = temp.substring(16,21);
po.getNumber(str);
str = temp.substring(21,26);
po.getNumber(str);

}

public static void main(String[] args)
{
Postal pos = new Postal();
while(menu != 3)
{
System.out.println();
menu = pos.menu();
switch (menu)
{
case 1:
num = pos.getZIP();
pos.getDigit(num);
System.out.println();
break;
case 2:
temp = pos.number();
System.out.println(temp);
pos.divide(temp);
break;
case 3:
break;
}
}
}
}

I am working on java programming that converts zipcode to barcode and vice versa. I am stuck in as the instruction requires that I have to use two methods which
I am working on java programming that converts zipcode to barcode and vice versa. I am stuck in as the instruction requires that I have to use two methods which
I am working on java programming that converts zipcode to barcode and vice versa. I am stuck in as the instruction requires that I have to use two methods which
I am working on java programming that converts zipcode to barcode and vice versa. I am stuck in as the instruction requires that I have to use two methods which
I am working on java programming that converts zipcode to barcode and vice versa. I am stuck in as the instruction requires that I have to use two methods which
I am working on java programming that converts zipcode to barcode and vice versa. I am stuck in as the instruction requires that I have to use two methods which
I am working on java programming that converts zipcode to barcode and vice versa. I am stuck in as the instruction requires that I have to use two methods which

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site