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 you.
Introduction to ArtificiaI Intelligence in Higher Education
I am working on java programming that converts zipcode to barcode an.pdf
1. 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;
2. 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);
3. 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;
4. }
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) {
5. 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;
6. }
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()
7. {
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));
8. 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);