001    package de.hska.java.aufgaben.kontrollstrukturen;
002    
003    /**
004     * Enthält eine main-Methode, die eine Angabe von bytes
005     * gegeben so als int-Wert metrisch als
006     * Byte, KByte, MByte oder GByte auf dem Bildschirm
007     * ausgibt, dass höchstens 3 Vorkommastellen ausgegeben werden.
008     * 
009     * <p>
010     *   <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/kontrollanweisungen.html#metrikbytes">Zurück zum Aufgabentext</a>
011     * </p>
012     * 
013     *  
014     * @author Christian Pape
015     *
016     */
017    public class EinheitBytesUmwandeln {
018    
019        /**
020         * Gibt für eine Anzahl bytes eine best passende
021         * Metrische Einheit (K, M, G) an, so dass nur maximal 3 Vorkommastellen
022         * ausgegeben werden.
023         */
024        public static void main(String[] args) {
025            int bytes = 1532300001;
026            double bytesMetrisch = 0;
027            String einheit = "Byte";
028            
029            if (bytes / 1000 == 0) {
030                bytesMetrisch = bytes;
031            } else if (bytes / 1000000 == 0) {
032                bytesMetrisch = bytes / 1000.0;
033                einheit = "KByte";
034            } else if (bytes / 1000000000 == 0) {
035                bytesMetrisch = bytes / 1000000.0;
036                einheit = "MByte";            
037            } else {
038                bytesMetrisch = bytes / 1000000000.0;
039                einheit = "GByte";                        
040            }
041            
042            System.out.println(bytes + " Byte sind " + bytesMetrisch + " " + einheit);
043        }
044    
045    }