daily pastebin goal
60%
SHARE
TWEET

HW P4

tamerSabek Dec 14th, 2018 58 in 329 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.Scanner;
  2. import java.util.Set;
  3. import java.util.LinkedHashSet;
  4. import java.util.InputMismatchException;
  5. import java.util.Iterator;
  6.  
  7. public class Main {
  8.  
  9.     public static void loops1(){
  10.         System.out.println("Please enter a number and a digit");
  11.         Scanner scan =new Scanner(System.in);
  12.         try {
  13.             int number = scan.nextInt();
  14.             int printNumber=number;
  15.             int digit = scan.nextInt();
  16.             int counter = 0;
  17.             while (number >0){
  18.                 if(number%10 == digit)
  19.                     counter+=1;
  20.                 number/=10;
  21.             }
  22.             System.out.println("The digit "+digit+" is "+counter+" times in "+printNumber);
  23.         }catch (InputMismatchException e){
  24.             System.out.println("Invalid input");
  25.         }catch (Exception e) {
  26.             System.out.println("General exception");
  27.         }
  28.     }
  29.  
  30.     public static void loops2(){
  31.         System.out.println("Please enter a number");
  32.         Scanner scan =new Scanner(System.in);
  33.         try {
  34.             int newNumber=0, multiply10=1;
  35.             int number = scan.nextInt();
  36.             while (number>0){
  37.                newNumber= number%10*multiply10+newNumber;
  38.                multiply10*=10;
  39.                number/=100;
  40.             }
  41.             System.out.println(newNumber);
  42.  
  43.         }catch (InputMismatchException e){
  44.             System.out.println("Invalid input");
  45.         }catch (Exception e) {
  46.             System.out.println("General exception");
  47.         }
  48.     }
  49.  
  50.     public static void loops3(){
  51.         System.out.println("Please enter a two numbers in a similar length ");
  52.         Scanner scan =new Scanner(System.in);
  53.         try {
  54.             int number1 = scan.nextInt();
  55.             int number2 = scan.nextInt();
  56.             if(number1<0 || number2<0)
  57.                 throw new Exception("0");
  58.             int counter = 0;
  59.             try {
  60.                 if (number1 < 0 || number2 < 0)
  61.                     throw new Exception("0");
  62.                 while (number1 > 0) {
  63.                     if (number1 % 10 == number2 % 10)
  64.                         counter += 1;
  65.                     number1 /= 10;
  66.                     number2 /= 10;
  67.                     if (number1 == 0 && number2 == 0)
  68.                         System.out.println("The number have "+counter+" similar digits in a same position");
  69.                     if (number1 == 0 && number2 != 0)
  70.                         throw new Exception("1");
  71.                     if (number1 != 0 && number2 == 0)
  72.                         throw new Exception("2");
  73.                 }
  74.             } catch (InputMismatchException e) {
  75.                 System.out.println("Invalid input");
  76.             } catch (Exception e) {
  77.                 System.out.println("The numbers is not in a similar length");
  78.             }
  79.         }catch (InputMismatchException e) {
  80.             System.out.println("Invalid input");
  81.         }catch (Exception e){
  82.             System.out.println("negative input");
  83.         }
  84.     }
  85.  
  86.     public static void loops4(){
  87.         System.out.println("Please enter an id number");
  88.         Scanner scan =new Scanner(System.in);
  89.         try {
  90.             int id = scan.nextInt();
  91.             int checkDigit = 0;
  92.             int realCheckNumber = 0;
  93.             if(id<10000000 || id>999999999)
  94.                 throw new Exception("0");
  95.             if(id>10000000 && id<99999999) {
  96.                 realCheckNumber += id % 10;
  97.                 id /= 10;
  98.                 checkDigit = id % 10;
  99.                 id /= 10;
  100.             }
  101.             else {
  102.                 checkDigit = id % 10;
  103.                 id /= 10;
  104.             }
  105.             while (id>0){
  106.                 int b = id%10;
  107.                 if(b>4){
  108.                     realCheckNumber = realCheckNumber +((b*2)%10)+((b*2)/10);
  109.                 }
  110.                 else
  111.                     realCheckNumber +=b*2;
  112.                 id/=10;
  113.                 realCheckNumber +=(id%10);
  114.                 id/=10;
  115.             }
  116.             realCheckNumber = (10-realCheckNumber%10)%10;
  117.             if(realCheckNumber == checkDigit)
  118.                 System.out.println("The id number is correct by Luhn algorithm");
  119.             else
  120.                 System.out.println("The id number is not correct by Luhn algorithm");
  121.         }catch (InputMismatchException e) {
  122.             System.out.println("Invalid input");
  123.         }catch (Exception e){
  124.             System.out.println("The id length is 8 or 9 digits and not negative");
  125.         }
  126.     }
  127.  
  128.     public static void loops5(){
  129.         System.out.println("Please enter a positive and integer number");
  130.         Scanner scan =new Scanner(System.in);
  131.         try {
  132.             int number = scan.nextInt();
  133.             int newNumber = 0, temp = 0, multiply10=1;
  134.             if(number<0)
  135.                 throw new Exception("0");
  136.  
  137.             while (number>0){
  138.                 if (number<10){
  139.                     newNumber = newNumber +((number%10)*multiply10);
  140.                     break;
  141.                 }
  142.                 temp = number%10;
  143.                 number /=10;
  144.                 newNumber = newNumber +((number%10)*multiply10);
  145.                 number /=10;
  146.                 multiply10*=10;
  147.                 newNumber = newNumber + (temp*multiply10);
  148.                 multiply10*=10;
  149.             }
  150.             System.out.println(newNumber);
  151.         }catch (InputMismatchException e) {
  152.             System.out.println("Invalid input");
  153.         }catch (Exception e){
  154.             System.out.println("The number is negative");
  155.         }
  156.     }
  157.  
  158.     public static void loops6(){
  159.         System.out.println("Please enter a positive and integer number");
  160.         Scanner scan =new Scanner(System.in);
  161.         try {
  162.             int number = scan.nextInt();
  163.             int newNumber = 0, multiply10=1;
  164.             if(number<0 || number>9999)
  165.                 throw new Exception("0");
  166.             newNumber = number;
  167.             while (number>0){
  168.                 number/=10;
  169.                 multiply10*=10;
  170.             }
  171.             number = newNumber;
  172.             newNumber =number*multiply10;
  173.             while (number>0) {
  174.                 multiply10 /=10;
  175.                 newNumber = newNumber +number%10*multiply10;
  176.                 number/=10;
  177.             }
  178.             System.out.println(newNumber);
  179.         }catch (InputMismatchException e) {
  180.             System.out.println("Invalid input");
  181.         }catch (Exception e){
  182.             System.out.println("The number is negative");
  183.         }
  184.     }
  185.  
  186.     public static void loops7(){
  187.         System.out.println("Please enter arithmetic expressions that include the + sign");
  188.         int doagain=1;
  189.         Scanner scan = new Scanner(System.in);
  190.         while (doagain == 1) {
  191.             try {
  192.                 String aE = scan.nextLine();
  193.                 int result = 0, number1 = 0, number2 = 0, n1 = 0, n2 = -1, s0 = 0, sf = -1, sL = -1, sll = -1, s2 = -1, s1 = -1, e = -1, ite = 0, nL = 1;
  194.                 char sign = ' ';
  195.                 for (int i = 0; i < aE.length(); i += 1) {
  196.                     if ((aE.charAt(i) >= 48 && aE.charAt(i) <= 57) || aE.charAt(i) == '-' || aE.charAt(i) == '+' || aE.charAt(i) == '=' || aE.charAt(i) == ' ') {
  197.                         if (aE.charAt(i) == ' ' && s0 == i) {
  198.                             s0 = i + 1;
  199.                             n1 = i + 1;
  200.                             ite += 1;
  201.                         }
  202.                         if ((int) aE.charAt(i) >= 48 && (int) aE.charAt(i) <= 57 && n1 == i) {
  203.                             number1 *= 10;
  204.                             number1 += ((int) aE.charAt(i) - 48);
  205.                             s0 = 0;
  206.                             n1 = i + 1;
  207.                             sf = i + 1;
  208.                             s1 = i + 1;
  209.                             ite += 1;
  210.                         }
  211.  
  212.                         if (aE.charAt(i) == ' ' && s1 == i) {
  213.                             n1 = 0;
  214.                             s1 = i + 1;
  215.                             sf = i + 1;
  216.                             ite += 1;
  217.                         }
  218.  
  219.  
  220.                         if ((aE.charAt(i) == '+' || aE.charAt(i) == '-') && sf == i) {
  221.                             sign = aE.charAt(i);
  222.                             s1 = 0;
  223.                             sf = 0;
  224.                             s2 = i + 1;
  225.                             n2 = i + 1;
  226.                             ite += 1;
  227.                         }
  228.                         if (aE.charAt(i) == ' ' && s2 == i) {
  229.                             s2 = i + 1;
  230.                             n2 = i + 1;
  231.                             ite += 1;
  232.                         }
  233.                         if ((int) aE.charAt(i) >= 48 && (int) aE.charAt(i) <= 57 && n2 == i) {
  234.                             number2 *= 10;
  235.                             number2 += ((int) aE.charAt(i) - 48);
  236.                             s2 = 0;
  237.                             n2 = i + 1;
  238.                             sL = i + 1;
  239.                             e = i + 1;
  240.                             ite += 1;
  241.                         }
  242.                         if (aE.charAt(i) == ' ' && sL == i) {
  243.                             n2 = 0;
  244.                             sL = i + 1;
  245.                             e = i + 1;
  246.                             ite += 1;
  247.                         }
  248.                         if (aE.charAt(i) == '=' && e == i) {
  249.                             sL = 0;
  250.                             e = 0;
  251.                             n2 = 0;
  252.                             sll = i + 1;
  253.                             ite += 1;
  254.                         }
  255.                         if (aE.charAt(i) == ' ' && sll == i) {
  256.                             sll = i + 1;
  257.                             ite += 1;
  258.                         }
  259.  
  260.                     } else throw new Exception("Invalid Input");
  261.  
  262.                 }
  263.                 if (number1 <= number2)
  264.                     throw new Exception("the second number bigger than the first number");
  265.                 if (ite == aE.length() && sL > -1 && sign == '+') {
  266.                     result = number1 + number2;
  267.                     while (result > 0) {
  268.                         nL *= 10;
  269.                         result /= 10;
  270.                     }
  271.                     result = ((number1 - number2) * nL) + number1 + number2;
  272.                     System.out.println(number1 + " " + sign + " " + number2 + " = " + result);
  273.                 } else {
  274.                     if (ite == aE.length() && sL > -1 && sign == '-') {
  275.                         System.out.println("Thank you");
  276.                         doagain=0;
  277.                     }
  278.                     else throw new Exception("Invalid input");
  279.                 }
  280.             } catch (InputMismatchException e) {
  281.                 System.out.println("Invalid input");
  282.             } catch (Exception e){
  283.                 System.out.println("General Exception: "+e.getMessage());
  284.             }
  285.         }
  286.     }
  287.  
  288.     public static void loops8() {
  289.         int ij=0;
  290.         for (int i = 10; i < 100; i += 1) {
  291.             for (int j = 10; j < 100; j += 1) {
  292.                 if (i/j<1){
  293.                    int number1 = i/10;
  294.                    int number2 = j%10;
  295.                    if (((double)number1/number2) == ((double)i/j)) {
  296.                        ij+=1;
  297.                        System.out.println(ij + ") " + number1 + "/" + number2 + " == " + i + "/" + j);
  298.                    }
  299.                 }
  300.             }
  301.         }
  302.  
  303.     }
  304.  
  305.     public static void loops9WithVaildInput(){
  306.         try {
  307.             Scanner scan = new Scanner(System.in);
  308.             System.out.println("Please enter 2 numbers with the same number of digits: ");
  309.             int number1 = scan.nextInt();
  310.             int number2 = scan.nextInt();
  311.             int res = 0, multiply10 = 1, length = 0;
  312.             while (number1 > 0) {
  313.                 int ite = number1 % 10;
  314.                 while (ite > 0 && length < 9) {
  315.                     res = res + (number2 % 10 * multiply10);
  316.                     length += 1;
  317.                     multiply10 *= 10;
  318.                     ite -= 1;
  319.                 }
  320.                 number1 /= 10;
  321.                 number2 /= 10;
  322.             }
  323.             System.out.println("res = " + res);
  324.         }catch (InputMismatchException e){
  325.             System.out.println("Invalid input");
  326.         }catch (Exception e){
  327.             System.out.println("General Exception");
  328.         }
  329.     }
  330.  
  331.     public static void loops10 (){
  332.         Scanner scan = new Scanner(System.in);
  333.         System.out.println("Please enter number and digit: ");
  334.         try {
  335.             int number = scan.nextInt();
  336.             int digit = scan.nextInt();
  337.             if(number<0 || digit<0 || digit >9)
  338.                 throw new Exception("Invalid input");
  339.             int res = 0, multiply10;
  340.             String str = "";
  341.             multiply10 = (int) Math.pow(10, digit);
  342.             while (number > 0) {
  343.                 int num = number % multiply10;
  344.                 int mun = num;
  345.                 number /= multiply10;
  346.  
  347.                 int m10 = 1;
  348.                 while (num > 0) {
  349.                     m10 *= 10;
  350.                     num /= 10;
  351.                 }
  352.                 num = mun;
  353.                 mun = 0;
  354.                 while (num > 0) {
  355.                     m10 /= 10;
  356.                     mun = mun + (num % 10 * m10);
  357.                     num /= 10;
  358.                 }
  359.                 str = mun + str;
  360.             }
  361.             int m10 = 1;
  362.             for (int i = str.length() - 1; i >= 0; i -= 1) {
  363.                 res += (((int) str.charAt(i) - 48) * m10);
  364.                 m10 *= 10;
  365.             }
  366.             System.out.println(res);
  367.         }catch (InputMismatchException e) {
  368.             System.out.println("Invalid input: input is not integer");
  369.         }catch (Exception e){
  370.         System.out.println("Invalid input: input is negative or you do not have a digit");
  371.     }
  372.  
  373.  
  374.     }
  375.  
  376.     public static void loops11() {
  377.         Scanner scan = new Scanner(System.in);
  378.         System.out.println("Please enter a number: ");
  379.         try {
  380.             int number = scan.nextInt();
  381.             if (number < 0)
  382.                 throw new Exception("Invalid input");
  383.             for(int i=0; i<number;i+=1) {
  384.                 for (int j = 0; j < number; j += 1) {
  385.                     if (i < j)
  386.                         System.out.print("#");
  387.                     else
  388.                         System.out.print("*");
  389.                 }
  390.                 System.out.println();
  391.             }
  392.  
  393.  
  394.  
  395.  
  396.         } catch (InputMismatchException e) {
  397.             System.out.println("Invalid input: input is not integer");
  398.         } catch (Exception e) {
  399.             System.out.println("Invalid input: input is negative");
  400.         }
  401.     }
  402.  
  403.     public static void loops12() {
  404.         Scanner scan = new Scanner(System.in);
  405.         System.out.println("Please enter a number: ");
  406.         try {
  407.             int number = scan.nextInt();
  408.             if (number < 0)
  409.                 throw new Exception("Invalid input");
  410.  
  411.             for(int i=0; i<number;i+=1) {
  412.                 for (int j = 0; j < i; j += 1) {
  413.                     System.out.print(" ");
  414.                 }
  415.                 for (int j = 0; j < number - i; j += 1) {
  416.                     System.out.print("* ");
  417.                 }
  418.                 if (i < number - 1)
  419.                     System.out.println();
  420.             }
  421.  
  422.         } catch (InputMismatchException e) {
  423.             System.out.println("Invalid input: input is not integer");
  424.         } catch (Exception e) {
  425.             System.out.println("Invalid input: input is negative");
  426.         }
  427.     }
  428.  
  429.     public static void loops13() {
  430.         Scanner scan = new Scanner(System.in);
  431.         System.out.println("Please enter a number: ");
  432.         try {
  433.             int number = scan.nextInt();
  434.             if (number<0 || number%2==0)
  435.                 throw new Exception("Invalid input");
  436.  
  437.             for(int i=0; i<number;i+=1) {
  438.                 for (int j = 0; j < i; j += 1) {
  439.                     System.out.print(" ");
  440.                 }
  441.                 for (int j = 0; j < number-i; j += 1) {
  442.                     System.out.print("* ");
  443.                 }
  444.                 System.out.println();
  445.             }
  446.             for(int i=number-1; i>=0;i-=1) {
  447.                 for (int j = 0; j < i; j += 1) {
  448.                     System.out.print(" ");
  449.                 }
  450.                 for (int j = 0; j < number-i; j += 1) {
  451.                     System.out.print("* ");
  452.                 }
  453.                 if(i>0)
  454.                     System.out.println();
  455.             }
  456.  
  457.         } catch (InputMismatchException e) {
  458.             System.out.println("Invalid input: input is not integer");
  459.         } catch (Exception e) {
  460.             System.out.println("Invalid input: input is negative or double");
  461.         }
  462.     }
  463.  
  464.     public static void loops14() {
  465.         Scanner scan = new Scanner(System.in);
  466.         System.out.println("Please enter a number: ");
  467.         try {
  468.             int number = scan.nextInt();
  469.             if (number < 0)
  470.                 throw new Exception("Invalid input");
  471.  
  472.             for(int i=1; i<=number*number;i+=1) {
  473.                 for (int j = 1; j <=number*number; j += 1) {
  474.                     System.out.print("*");
  475.                     if (j%number==0 && j!=0)
  476.                         System.out.print(" ");
  477.                 }
  478.                 if(i%number==0 && i!=0 && i!=number*number)
  479.                     System.out.println();
  480.                 if(i!=number*number)
  481.                     System.out.println();
  482.             }
  483.  
  484.         } catch (InputMismatchException e) {
  485.             System.out.println("Invalid input: input is not integer");
  486.         } catch (Exception e) {
  487.             System.out.println("Invalid input: input is negative");
  488.         }
  489.     }
  490.  
  491.     public static void loops15() {
  492.         Scanner scan = new Scanner(System.in);
  493.         System.out.println("Please enter a number: ");
  494.         try {
  495.             int number = scan.nextInt();
  496.             if (number < 0)
  497.                 throw new Exception("Invalid input");
  498.             for (int k=0; k<number;k+=1) {
  499.                 for (int i = number - 1; i >= 0; i -= 1) {
  500.                     for (int j = 0; j < i; j += 1) {
  501.                         System.out.print(" ");
  502.                     }
  503.                     for (int j = 0; j < number - i; j += 1) {
  504.                         System.out.print("* ");
  505.                     }
  506.                         System.out.println();
  507.                 }
  508.             }
  509.             for (int i=0; i<number;i+=1) {
  510.                 for (int j=1; j<number;j+=1) {
  511.                     System.out.print(" ");
  512.                 }
  513.                 System.out.println("*");
  514.             }
  515.  
  516.         } catch (InputMismatchException e) {
  517.             System.out.println("Invalid input: input is not integer");
  518.         } catch (Exception e) {
  519.             System.out.println("Invalid input: input is negative");
  520.         }
  521.     }
  522.  
  523.     public static int loops161(int number1) {
  524.         Set<Integer> setDivide= new LinkedHashSet<Integer>();
  525.         int number2=0;
  526.             setDivide.add(1);
  527.             for (int i=1; i<number1; i+=1){
  528.                 for (int j=1; j<number1; j+=1){
  529.                     if(i*j==number1){
  530.                         setDivide.add(i);
  531.                         setDivide.add(j);
  532.                     }
  533.                 }
  534.             }
  535.             Iterator<Integer> ite = setDivide.iterator();
  536.             while (ite.hasNext())
  537.                 number2+=ite.next();
  538.             setDivide.clear();
  539.             return number2;
  540.  
  541.     }
  542.     public static void loops16(){
  543.         Set<Integer> mates= new LinkedHashSet<Integer>();
  544.         int counter=0;
  545.         int i=0;
  546.         while (counter<20){
  547.             int j=loops161(i);
  548.             int k=loops161(j);
  549.             if (i == k && i!=j) {
  550.                 counter+=1;
  551.                 mates.add(i);
  552.                 mates.add(j);
  553.             }
  554.             i+=1;
  555.         }
  556.         i=1;
  557.         Iterator<Integer> ite = mates.iterator();
  558.         while (ite.hasNext()) {
  559.             System.out.println(i + ") " + ite.next() + " and " + ite.next() + " are mates");
  560.             i+=1;
  561.         }
  562.     }
  563.  
  564.     public static int loop17happynumber(int number){
  565.        int res=0;
  566.        while (number>0){
  567.            res+=Math.pow(number%10,2);
  568.            number/=10;
  569.        }
  570.        if (res>9)
  571.            return loop17happynumber(res);
  572.        else
  573.            return res;
  574.     }
  575.     public static void loops17(){
  576.         int counter=1;
  577.         int i=9;
  578.         int j=1;
  579.         String  str="";
  580.         while (counter<3){
  581.             i+=1;
  582.             int happyNumber=loop17happynumber(i);
  583.             if(happyNumber==1){
  584.  
  585.                 System.out.println(j+") "+i+" is a happy number:-)");
  586.                 counter+=1;
  587.                 j+=1;
  588.                 str = str+ i+" ";
  589.             }
  590.             else {
  591.                 counter = 0;
  592.                 str ="";
  593.             }
  594.         }
  595.         System.out.println(str);
  596.     }
  597.  
  598. public static void main(String[] args) {
  599.         System.out.println("(((4.1)))");
  600.         loops1();
  601.         System.out.println("(((4.2)))");
  602.         loops2();
  603.         System.out.println("(((4.3)))");
  604.         loops3();
  605.         System.out.println("(((4.4)))");
  606.         loops4();
  607.         System.out.println("(((4.5)))");
  608.         loops5();
  609.         System.out.println("(((4.6)))");
  610.         loops6();
  611.         System.out.println("(((4.7)))");
  612.         loops7();
  613.         System.out.println("(((4.8)))");
  614.         loops8();
  615.         System.out.println("(((4.9)))");
  616.         loops9WithVaildInput();
  617.         System.out.println("(((4.10)))");
  618.         loops10();
  619.         System.out.println("(((4.11)))");
  620.         loops11();
  621.         System.out.println("(((4.12)))");
  622.         loops12();
  623.         System.out.println("(((4.13)))");
  624.         loops13();
  625.         System.out.println("(((4.14)))");
  626.         loops14();
  627.         System.out.println("(((4.15)))");
  628.         loops15();
  629.         System.out.println("(((4.16))it will take to match time)");
  630.         loops16();
  631.         System.out.println("(((4.17)))");
  632.         loops17();
  633.     }
  634. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top