Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Temppu {
- public Temppu() {
- System.out.println("Lukua ei annettu");
- }
- public Temppu(long l) {
- this.temppuile(l);
- }
- private long pot10(byte potenssi) {
- long paluuarvo=1;
- if (potenssi==0) return paluuarvo;
- else if (potenssi > 0) {
- do {
- paluuarvo*=10;
- potenssi--;
- } while (potenssi>0);
- return paluuarvo;
- }
- return 0;
- }
- private long temppuile(long luku) {
- long apuluku=luku,vasen=0,oikea=0;
- byte numero=0,numeroita=0,maxnumero=0,sijainti=0;
- while(apuluku>0) {
- numeroita++;
- numero=(byte)(apuluku-((apuluku/10)*10));
- if(numero>=maxnumero) {
- maxnumero=numero;
- sijainti=numeroita;
- }
- apuluku=apuluku/10;
- }
- numero=(byte)apuluku;
- if(numero>=maxnumero) {
- maxnumero=numero;
- sijainti=numeroita;
- }
- vasen=luku/this.pot10(sijainti);
- vasen=vasen*this.pot10((byte)(sijainti-1));
- oikea=luku/this.pot10((byte)(sijainti-1));
- oikea=oikea*this.pot10((byte)(sijainti-1));
- oikea=luku-oikea;
- vasen=vasen+oikea;
- apuluku=maxnumero*vasen;
- System.out.printf("Luku: %d", luku);
- System.out.printf(", max.numero = %d",maxnumero);
- System.out.printf(", uusi luku on %d x ",maxnumero);
- System.out.println(vasen+" -> "+apuluku);
- if(apuluku>9) {
- this.temppuile(apuluku);
- }
- return apuluku;
- }
- public static void main(String []args) {
- if(args.length>0) {
- try {
- long luku=Long.parseLong(args[0]);
- if(luku>9) {
- Temppu temppu=new Temppu(luku);
- } else {
- System.out.println("Luvun pitää vähintään 10");
- }
- } catch (NumberFormatException e) {
- System.out.println("Epäkelpo luku: "+e.getMessage());
- }
- } else {
- System.out.println("Lukua ei annettu.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement