Advertisement
LiMIllusion

Untitled

Apr 11th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.85 KB | None | 0 0
  1. //Conversione decimale-binario
  2. import java.util.*;
  3. import java.io.*;
  4.  
  5. class Conversionedb
  6. {
  7.     String s="";
  8.     public double todouble()
  9.     {
  10.          double md;
  11.          md = Double.parseDouble(s);
  12.          md=Math.abs(md);
  13.          return md;
  14.     }
  15.     public double todouble1()
  16.     {
  17.          double md;
  18.          md = Double.parseDouble(s);
  19.          return md;
  20.     }
  21.     public String trovasegno()
  22.     {
  23.         String segno="";
  24.         if(todouble()>=0){segno+=0;}
  25.         else {segno+=1;}
  26.         return segno;
  27.     }
  28.     public int separa_intero()
  29.     {
  30.         int intera = (int)todouble();
  31.         return intera;
  32.     }
  33.  
  34.     public double separa_decimale()
  35.     {
  36.         double dec=todouble()-separa_intero();
  37.         return dec;
  38.     }
  39.  
  40.     public String binariointero()
  41.     {
  42.         String binarioint=Integer.toBinaryString(separa_intero());
  43.         return binarioint;
  44.  
  45.     }
  46.     public String binariodecimale()
  47.     {
  48.         String binariodec="";
  49.         double dec1;
  50.         dec1=separa_decimale()*2;
  51.         int ap;
  52.         int i=0;
  53.         do
  54.         {
  55.             if (i!=0){dec1=dec1*2;}
  56.             ap=(int)dec1;
  57.             dec1=dec1-ap;
  58.             binariodec+=ap;
  59.             i++;
  60.         }while (dec1!=0.00 | i==3);
  61.         return binariodec;
  62.     }
  63.     public String costruzionemantissa()
  64.     {
  65.         char car;
  66.         String mantissa="";
  67.         int ap;
  68.         //mantissa = removeCh(binariointero(), 0);
  69.         mantissa = binariointero().replaceFirst("1","");
  70.         mantissa+=binariodecimale();
  71.         int mantissan=mantissa.length();
  72.         mantissan=23-mantissan;
  73.         String zero="";
  74.         for (int i=0;i<mantissan;i++)
  75.         {
  76.             zero+="0";
  77.         }
  78.         mantissa+=zero;
  79.         return mantissa;
  80.     }
  81.     public String gestionesegno()
  82.     {
  83.         String segno="";
  84.         double md=todouble1();
  85.         if(md<0){segno="1";}
  86.         else{segno="0";}
  87.         return segno;
  88.     }
  89. }
  90.  
  91.  
  92.  
  93. class Principale1
  94. {
  95.     public static void main(String args[])
  96.     {
  97.         boolean flag;
  98.         flag=true;
  99.         while(flag){
  100.         System.out.println("Inserisci un numero decimale.ES: 3.5");
  101.         System.out.println("[NB: Per un corretto funzionamento del programma la parte decimale del numero deve essere divisibile per 5]");
  102.         Conversionedb co=new Conversionedb();
  103.         try{
  104.             Scanner input=new Scanner(System.in);
  105.             co.s=input.nextLine();
  106.             System.out.println("");
  107.             System.out.println("Conversione parte intera: "+co.binariointero());
  108.             System.out.println("Conversione parte decimale decimale: "+co.binariodecimale());
  109.             System.out.println("Mantissa:"+co.costruzionemantissa());
  110.             System.out.println("Segno:" + co.gestionesegno());
  111.             Scanner scelta=new Scanner(System.in);
  112.             System.out.println("Vuoi inserire un altro valore?\n S/N");
  113.            
  114.             boolean flag1=true;
  115.             while(flag1){
  116.             String r=scelta.nextLine();
  117.             switch(r.toUpperCase()){
  118.                 case("S"):
  119.                         flag=true;
  120.                         flag1=false;
  121.                         break;
  122.                 case("N"):
  123.                         flag=false;
  124.                         flag1=false;
  125.                         break;
  126.                 default:
  127.                         System.out.println("Scelta non valida! Riprova");
  128.             }
  129.         }
  130.         }
  131.         catch(Exception e){
  132.             System.out.println("Qualcosa e' andato storto, inserisci un altro valore");
  133.             }
  134.         }
  135.     }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement