Advertisement
Guest User

edx_HKUST_comp102x_ex2

a guest
Feb 10th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.13 KB | None | 0 0
  1. class j1exam01
  2. {
  3.     public static void printLine (int highest, int length)
  4.     {
  5.     int digit = 0;
  6.     int help = 0;
  7.     int spaces = (length - (2 * highest + 1)) / 2;
  8.     //print leading spaces
  9.     if (spaces > 0)
  10.         {
  11.         for (int i = 0; i < spaces; i++)
  12.             {
  13.             System.out.print (" ");
  14.             }  
  15.         }
  16.     //print digits
  17.     switch (highest)
  18.         {
  19.     //case highest 0
  20.         case 0:
  21.             {
  22.             System.out.print ("0");
  23.             break;
  24.             }
  25.     //case highest 1
  26.         case 1:
  27.             {
  28.             System.out.print ("010");
  29.             break;
  30.             }  
  31.     //case other
  32.         default:
  33.             {
  34.             for (int i = 0; i < (length - (2 * spaces)); i++)
  35.                 {
  36.                 if (i < highest) { digit = i; }
  37.                 else if (i == highest) { digit = highest; help = 1;}
  38.                 else if (i > highest) { digit = highest - help; help++; }
  39.                 System.out.print (digit);          
  40.                 }
  41.             break;
  42.             }
  43.         }
  44.     //print ending spaces
  45.     if (spaces > 0)
  46.     {
  47.     for (int i = 0; i < spaces; i++)
  48.         {
  49.         System.out.print (" ");
  50.         }
  51.     }
  52.     //print newline
  53.     System.out.println();
  54.     }
  55.     public static void printDiamond (int center)
  56.     {
  57.     int digit = 0;
  58.     int help = 0;
  59.     int length = (2 * center) + 1;
  60.     //print empty line
  61.     System.out.println();
  62.     //diamond
  63.     switch (center)
  64.         {
  65.         case 0:
  66.             {
  67.             printLine (0, 1);
  68.             break;
  69.             }
  70.         case 1:
  71.             {
  72.             printLine (0, 3);
  73.             printLine (1, 3);
  74.             printLine (0, 3);
  75.             break;
  76.             }
  77.         default:
  78.             {
  79.             for (int i = 0; i < ((2 * center) + 1); i++)
  80.                 {
  81.                 if (i < center) { digit = i; }
  82.                 else if (i == center) { digit = center; help = 1;}
  83.                 else if (i > center) { digit = center - help; help++; }
  84.                 printLine (digit, length);         
  85.                 }
  86.             break;
  87.             }
  88.         }
  89.     //print newline {([done in printLine()])}
  90.     //print empty line
  91.     System.out.println();
  92.     }
  93.     public static void main (String[] args)
  94.     {
  95.     int q = 0;
  96.     int h, l, c;
  97.     h = 0;
  98.     l = 0;
  99.     c = 0;
  100.     //main menu
  101.     do
  102.         {
  103.         q = eingabe.readInt("(1)line, (2)diamond or (3)end?");
  104.         if (q == 1)
  105.             {
  106.             h = eingabe.readInt("highest:");
  107.             l = eingabe.readInt("length:");
  108.             printLine (h, l);
  109.             }
  110.         else if (q == 2)
  111.             {
  112.             c = eingabe.readInt("center:");
  113.             printDiamond (c);
  114.             }
  115.         } while (!(q == 3));
  116.     System.out.println ("this is the end");
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement