The US postal barcode is used by the US Postal System to rou
Solution
import java.util.Scanner;
public class Barcode {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String codeStr = scan.nextLine(); //scanning code from user
scan.close();
//data for conversion
String data[] = {
\"llsss\",
\"sssll\",
\"sslsl\",
\"sslls\",
\"slssl\",
\"slsls\",
\"sllss\",
\"lsssl\",
\"lssls\",
\"lslss\"
};
int code[] = new int[6];
code[0]= codeStr.charAt(0) - \'0\'; //converting character to int
code[1]= codeStr.charAt(1) - \'0\';
code[2]= codeStr.charAt(2) - \'0\';
code[3]= codeStr.charAt(3) - \'0\';
code[4]= codeStr.charAt(4) - \'0\';
code[5]= (code[0] + code[1] + code[2] + code[3] + code[4])%10; //calculate checksum
String upper=\"*\";//add star at start
for(int i=0;i<6;i++){
for(int j=0;j<5;j++)
{
if(data[code[i]].charAt(j) == \'l\'){
upper += \"*\";
}
else
upper +=\" \";
}
}
upper += \"*\"; //add star at end
//calculate how long string will be
int runtime = code.length * data[0].length() + 2;
//print upper stars
for(int j=0;j<2;j++){
for(int i=0;i<runtime;i++){
System.out.print(upper.charAt(i));
}
System.out.println();
}
//print lower starts
for(int j=0;j<3;j++){
for(int i=0;i<runtime;i++){
System.out.print(\"*\");
}
System.out.println();
}
}
}

