Advertisement
Guest User

Untitled

a guest
Jan 3rd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.72 KB | None | 0 0
  1. public class Temppu {
  2.     public Temppu() {
  3.         System.out.println("Lukua ei annettu");
  4.     }
  5.     public Temppu(long l) {
  6.         this.temppuile(l);
  7.     }
  8.     private long pot10(byte potenssi) {
  9.         long paluuarvo=1;
  10.         if (potenssi==0) return paluuarvo;
  11.         else if (potenssi > 0) {
  12.             do {
  13.                 paluuarvo*=10;
  14.                 potenssi--;
  15.             } while (potenssi>0);
  16.         return paluuarvo;
  17.         }
  18.     return 0;      
  19.     }
  20.     private long temppuile(long luku) {
  21.         long apuluku=luku,vasen=0,oikea=0;
  22.         byte numero=0,numeroita=0,maxnumero=0,sijainti=0;
  23.         while(apuluku>0) {
  24.             numeroita++;
  25.             numero=(byte)(apuluku-((apuluku/10)*10));
  26.             if(numero>=maxnumero) {
  27.                 maxnumero=numero;
  28.                 sijainti=numeroita;
  29.             }          
  30.             apuluku=apuluku/10;
  31.         }
  32.         numero=(byte)apuluku;
  33.         if(numero>=maxnumero) {
  34.             maxnumero=numero;
  35.             sijainti=numeroita;
  36.         }      
  37.         vasen=luku/this.pot10(sijainti);
  38.         vasen=vasen*this.pot10((byte)(sijainti-1));
  39.         oikea=luku/this.pot10((byte)(sijainti-1));
  40.         oikea=oikea*this.pot10((byte)(sijainti-1));
  41.         oikea=luku-oikea;
  42.         vasen=vasen+oikea;
  43.         apuluku=maxnumero*vasen;
  44.         System.out.printf("Luku: %d", luku);
  45.         System.out.printf(", max.numero = %d",maxnumero);
  46.         System.out.printf(", uusi luku on %d x ",maxnumero);
  47.         System.out.println(vasen+" -> "+apuluku);
  48.         if(apuluku>9) {
  49.             this.temppuile(apuluku);
  50.         }
  51.         return apuluku;
  52.     }
  53.     public static void main(String []args) {
  54.         if(args.length>0) {
  55.             try {
  56.                 long luku=Long.parseLong(args[0]);
  57.                 if(luku>9) {
  58.                     Temppu temppu=new Temppu(luku);
  59.                 } else {
  60.                     System.out.println("Luvun pitää vähintään 10");
  61.                 }
  62.             } catch (NumberFormatException e) {
  63.                 System.out.println("Epäkelpo luku: "+e.getMessage());
  64.             }
  65.         } else {
  66.             System.out.println("Lukua ei annettu.");
  67.         }
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement