Advertisement
Gigli-0neiric

IO

Jan 5th, 2015
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.80 KB | None | 0 0
  1. package EinAusgabe;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6.  
  7. import kundenverwaltung.Kunde;
  8. import lieferantenverwaltung.Lieferant;
  9.  
  10. public class EinAusgabe {
  11.  
  12.     BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  13.  
  14.     /**
  15.      * Die Methode "leseIntZahlEin()" dient zum Einlesen einer Int-Zahl. Die
  16.      * IOExeption und NumberFormatException werden abgefangen. Bei einer
  17.      * Fehlermeldung wird die Methode nochmals ausgefÔøΩhrt.
  18.      *
  19.      * @return zahl
  20.      */
  21.  
  22.     public int einlesenIntZahl() {
  23.         boolean fehler = true;
  24.         int zahl = 0;
  25.         while (fehler == true) {
  26.             try {
  27.                 zahl = Integer.parseInt(br.readLine());
  28.                 fehler = false;
  29.             } catch (NumberFormatException e) {
  30.                 System.out
  31.                         .print("Die Eingabe war keine Zahl! Bitte erneut eingeben:");
  32.             } catch (IOException e) {
  33.                 System.out.print("Einlesen fehlgeschlagen!");
  34.             }
  35.         }
  36.         return zahl;
  37.     }
  38.  
  39.     /**
  40.      * Die Methode "leseDoubleZahlEin()" dient zum Einlesen einer Double-Zahl.
  41.      * Die IOExeption und NumberFormatException werden abgefangen. Bei einer
  42.      * Fehlermeldung wird die Methode nochmals ausgefuehrt.
  43.      *
  44.      * @return zahl
  45.      */
  46.  
  47.     public double einlesenDoubleZahl() {
  48.         boolean fehler = true;
  49.         double zahl = 0;
  50.  
  51.         while (fehler == true) {
  52.             try {
  53.                 // Falls ein "," eingegeben wird, wandelt er dies in einen Punkt
  54.                 // um!
  55.                 zahl = Double.parseDouble(br.readLine().replace(",", "."));
  56.                 fehler = false;
  57.             } catch (NumberFormatException e) {
  58.                 System.out
  59.                         .print("Die Eingabe war keine Zahl! Bitte erneut eingeben:");
  60.             } catch (IOException e) {
  61.                 System.out.print("Einlesen fehlgeschlagen!");
  62.             }
  63.         }
  64.         return zahl;
  65.     }
  66.  
  67.     /**
  68.      * abfragenJaNein dient für eine JaNein-Abfrage. Die
  69.      * StringIndexOutOfBoundsException und IOException werden abgefangen.
  70.      *
  71.      * @return
  72.      */
  73.  
  74.     public char abfragenJaNein() {
  75.         char jaNein = 'e';
  76.         boolean fehler = true;
  77.  
  78.         while (fehler == true) {
  79.             while (jaNein != 'j' && jaNein != 'n') {
  80.                 try {
  81.                     String jaNein2 = br.readLine();
  82.                     jaNein = jaNein2.charAt(0);
  83.                     fehler = false;
  84.  
  85.                     if (jaNein != 'j' && jaNein != 'n') {
  86.                         System.out.print("Geben Sie 'j' oder 'n' ein.");
  87.                     }
  88.                 } catch (IOException e) {
  89.                     e.printStackTrace();
  90.                 } catch (StringIndexOutOfBoundsException e) {
  91.                     System.out.println("Sie muessen etwas eingeben.");
  92.                 }
  93.             }
  94.         }
  95.         return jaNein;
  96.     }
  97.  
  98.     public void ausgebenMeldungAnfangsjahr() {
  99.         System.out.print("Geben Sie einen Anfangsjahr ein: ");
  100.     }
  101.  
  102.     public void ausgebenMeldungAnfangsmonat() {
  103.         System.out.print("Geben Sie einen Anfangsmonat ein: ");
  104.     }
  105.  
  106.     public void ausgebenMeldungAnfangsmonatFehler() {
  107.         System.out.println("Geben Sie einen Monat zwischen 1 und 12 ein: ");
  108.     }
  109.  
  110.     public void ausgebenMeldungAnfangstag() {
  111.         System.out.print("Geben Sie einen Anfangtag ein: ");
  112.     }
  113.  
  114.     public void ausgebenMeldungAnfangstagFehler() {
  115.         System.out.println("Der eigegebene Tag ist ungültig.");
  116.     }
  117.  
  118.     public void ausgebenMeldungAnfangstagFehlerFebruar() {
  119.         System.out.println("Der Februar hat nur 28 Tage.");
  120.     }
  121.  
  122.     public void ausgebenMeldungAnfangstagFehlerApril() {
  123.         System.out.println("Der April hat nur 30 Tage.");
  124.     }
  125.  
  126.     public String ausgebenTabellenKopfKunden()
  127.     {
  128.     return "Firmenname+;Ansprechpartner;Strasse;Hausnummer;PLZ;Stadt;Land;Telefonnummer;Verwaltungsnummer";
  129.     }
  130.     public void ausgebenMeldungAnfangstagFehlerJuni() {
  131.         System.out.println("Der Juni hat nur 30 Tage.");
  132.     }
  133.  
  134.     public void ausgebenMeldungAnfangstagFehlerSeptember() {
  135.         System.out.println("Der September hat nur 30 Tage.");
  136.     }
  137.  
  138.     public void ausgebenMeldungAnfangstagFehlerNovember() {
  139.         System.out.println("Der November hat nur 30 Tage.");
  140.     }
  141.  
  142.     public void ausgebenMeldungDatumVergangenheit() {
  143.         System.out.println("Das Datum liegt in der Vergangenheit");
  144.     }
  145.  
  146.     public void ausgebenMeldungMonatVergangenheit() {
  147.         System.out.println("Der Anfangsmonat liegt in der Vergangenheit!");
  148.     }
  149.  
  150.     public void ausgebenNochmalAusfuehren() {
  151.         System.out.print("Möchten Sie das Programm nochmal ausfuehren? j/n ");
  152.     }
  153.     public void ausgebenKeineDatei()
  154.     {
  155.         System.out.println("Keine Daten gefunden, neue werden angelegt!");
  156.     }
  157.    
  158. public void ausgebenStringArray(String[] array)
  159.     {
  160.           for (int i = 0; i < array.length; i++)
  161.           {
  162.               System.out.println(array[i]);
  163.           }
  164.     }
  165.  
  166. public void ausgebenStringArrayKunden(String[] array)
  167. {
  168.    
  169.       System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-10s\n","Firmenname","Ansprechpartner","Straße","Hausnummer","PLZ","Stadt","Land","Telefonnummer","Verwaltungsnummer");
  170.       for (int i = 0; i < array.length; i++)
  171.       {
  172.           String[] aufgeteilt = array[i].split(";");
  173.           System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-10s\n",aufgeteilt[0],aufgeteilt[1],aufgeteilt[2],aufgeteilt[3],aufgeteilt[4],aufgeteilt[5],aufgeteilt[6],aufgeteilt[7],aufgeteilt[8]);
  174.       }
  175. }
  176. public void ausgebenStringArrayLieferanten(String[] array)
  177. {
  178.     System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-20s%-10s\n","Firmenname","Ansprechpartner","Straße","Hausnummer","PLZ","Stadt","Land","Telefonnummer", "Zuverlässigkeit","Verwaltungsnummer");
  179.       for (int i = 0; i < array.length; i++)
  180.       {
  181.           String[] aufgeteilt = array[i].split(";");
  182.           System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-20s%-10s\n",aufgeteilt[0],aufgeteilt[1],aufgeteilt[2],aufgeteilt[3],aufgeteilt[4],aufgeteilt[5],aufgeteilt[6],aufgeteilt[7],aufgeteilt[8],aufgeteilt[9]);
  183.       }
  184. }
  185.  
  186.     public int ausgebenBearbeitungsdialogKunden()
  187.     {
  188.         int zahl = 100;
  189.         while(zahl < 0 || zahl > 7 ){
  190.         System.out
  191.         .println("Bearbeitung der Spalten. Drücken Sie ... um diese Spalte zu ändern."
  192.                 + "\n"
  193.                 + "(0) Firmenname; (1) Ansprechpartner; (2) Straße; (3) Hausnummer; (4) PLZ; (5) Stadt; (6) Land; (7) Telefonnummer;");
  194.        
  195.    
  196.        
  197.         zahl = einlesenIntZahl();
  198.         }
  199.        
  200.         return zahl;
  201.     }
  202.    
  203.     public int ausgebenBearbeitungsdialogLieferanten()
  204.     {
  205.         int zahl = 100;
  206.         while(zahl < 0 || zahl > 8 ){
  207.         System.out
  208.         .println("Bearbeitung der Spalten. Drücken Sie ... um diese Spalte zu ändern."
  209.                 + "\n"
  210.                 + "(0) Firmenname; (1) Ansprechpartner; (2) Straße; (3) Hausnummer; (4) PLZ; (5) Stadt; (6) Land; (7) Telefonnummer; (8) Zuverlässigkeit");
  211.        
  212.    
  213.        
  214.         zahl = einlesenIntZahl();
  215.         }
  216.        
  217.         return zahl;
  218.     }
  219.    
  220.     public int einlesenVerwaltungsnummer()
  221.     {
  222.         System.out
  223.         .println("Geben Sie eine Verwaltungsnummer ein: ");
  224.    
  225.         return einlesenIntZahl();
  226.     }
  227.    
  228.     public void ausgebenMeldungFalscheVerwaltungsnummer()
  229.     {
  230.         System.out.println("Die Verwaltungsnummer existiert nicht!");
  231.     }
  232.    
  233.     public int ausgebenBearbeitungsdialogLieferantenVerwaltung()
  234.     {
  235.         int zahl = 100;
  236.         while(zahl < 0 || zahl > 5 ){
  237.         System.out
  238.         .println("Was wollen Sie machen?"
  239.                 + "\n"
  240.                 + "(0) Lieferant anlegen; (1) Lieferant bearbeiten; (2) Lieferant löschen; (3) Lieferant anzeigen; (4) Lieferanten anzeigen; (5) Abbruch");
  241.        
  242.         zahl = einlesenIntZahl();
  243.         }
  244.        
  245.         return zahl;
  246.     }
  247.    
  248.     public int ausgebenBearbeitungsdialogAuftragsVerwaltung()
  249.     {
  250.         int zahl = 100;
  251.         while(zahl < 0 || zahl > 5 ){
  252.         System.out
  253.         .println("Was wollen Sie machen?."
  254.                 + "\n"
  255.                 + "(0) Auftrag anelgen; (1) Auftrag bearbeiten; (2) Auftrag loeschen; (3) Auftrag anzeigen; (4) Aufträge anzeigen; (5) Abbruch;");
  256.        
  257.    
  258.        
  259.         zahl = einlesenIntZahl();
  260.         }
  261.        
  262.         return zahl;
  263.     }
  264.    
  265. public String einlesenAuftrag()
  266.     {
  267.         Datum datum = new Datum();
  268.         String datumString = datum.getJahr()+" - "+datum.getMonat()+" - "+datum.getTag();
  269.         Kunde kunde = new Kunde();
  270.         System.out.print("Kunden: ");
  271.         int kundeVerwaltungsnummer = kunde.einlesenPruefenVerwaltungsnummer();
  272.         System.out.print("Lieferanten: ");
  273.         Lieferant lieferant = new Lieferant();
  274.         int lieferantVerwaltungsnummer = lieferant.einlesenPruefenVerwaltungsnummer();
  275.         String artikel = "";
  276.         String menge = "";
  277.         String preis = "";
  278.         String lieferdatum = datumString;
  279.         String transportNr = "";
  280.         String geliefert = "Nein";
  281.         String auftrag = datumString + ";" + kundeVerwaltungsnummer + ";" + lieferantVerwaltungsnummer + ";" + transportNr + ";"
  282.                 + artikel + ";" + menge + ";" + preis + ";" + lieferdatum + ";"
  283.                 + geliefert+";";
  284.         return auftrag;
  285.     }
  286.     public void ausgebenStringAuftrag(String string)
  287.     {
  288.         System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-20s\n","Datum","Kunde","Lieferant","TransporterNr.","Artikel","Menge","Preis","Lieferdatum","Geliefert?");
  289.         String[] aufgeteilt = string.split(";");
  290.         System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-20s\n",aufgeteilt[0],aufgeteilt[1],aufgeteilt[2],aufgeteilt[3],aufgeteilt[4],aufgeteilt[5],aufgeteilt[6],aufgeteilt[7],aufgeteilt[8]);
  291.        
  292.     }
  293.     public void ausgebenStringArrayAuftraege(String[] array)
  294.     {
  295.        
  296.         System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-20s\n","Datum","Kunde","Lieferant","TransporterNr.","Artikel","Menge","Preis","Lieferdatum","Geliefert?");
  297.           for (int i = 0; i < array.length; i++)
  298.           {
  299.         String[] aufgeteilt = array[i].split(";");
  300.         System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-20s\n",aufgeteilt[0],aufgeteilt[1],aufgeteilt[2],aufgeteilt[3],aufgeteilt[4],aufgeteilt[5],aufgeteilt[6],aufgeteilt[7],aufgeteilt[8]);
  301.           }
  302.     }
  303.     public int ausgebenBearbeitungsdialogAuftraege()
  304.     {
  305.         int zahl = 100;
  306.         while(zahl < 0 || zahl > 1 ){
  307.         System.out
  308.         .println("Was wollen Sie bearbeiten?"
  309.                 + "\n"
  310.                 + "(0) Geliefert?; (1) Abbruch");
  311.        
  312.    
  313.        
  314.         zahl = einlesenIntZahl();
  315.         }
  316.        
  317.         return zahl;
  318.     }
  319.    
  320.     public int ausgebenBearbeitungsdialogSpeditionsVerwaltung()
  321.     {
  322.         int zahl = 100;
  323.         while(zahl < 0 || zahl > 3 ){
  324.         System.out
  325.         .println("Was wollen Sie machen?"
  326.                 + "\n"
  327.                 + "(0) Auftragsverwaltung aufrufen; (1) Kundenverwaltung aufrufen; (2) Lieferantenverwaltung aufrufen; (3) Abbruch");
  328.        
  329.         zahl = einlesenIntZahl();
  330.         }
  331.        
  332.         return zahl;
  333.        
  334.     }
  335.    
  336.     public void ausgebenString(String string)
  337.     {
  338.         System.out.print(string);
  339.     }
  340.  
  341. public void ausgebenStringKunde(String string)
  342.     {
  343.         System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-10s\n","Firmenname","Ansprechpartner","Straße","Hausnummer","PLZ","Stadt","Land","Telefonnummer","Verwaltungsnummer");
  344.         String[] aufgeteilt = string.split(";");
  345.         System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-10s\n",aufgeteilt[0],aufgeteilt[1],aufgeteilt[2],aufgeteilt[3],aufgeteilt[4],aufgeteilt[5],aufgeteilt[6],aufgeteilt[7],aufgeteilt[8]);
  346.        
  347.     }
  348.     public void ausgebenStringLieferant(String string)
  349.     {
  350.         System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-20s%-10s\n","Firmenname","Ansprechpartner","Straße","Hausnummer","PLZ","Stadt","Land","Telefonnummer", "Zuverlässigkeit","Verwaltungsnummer");
  351.         String[] aufgeteilt = string.split(";");
  352.          System.out.printf("%-20s%-20s%-20s%-15s%-10s%-20s%-20s%-20s%-20s%-10s\n",aufgeteilt[0],aufgeteilt[1],aufgeteilt[2],aufgeteilt[3],aufgeteilt[4],aufgeteilt[5],aufgeteilt[6],aufgeteilt[7],aufgeteilt[8],aufgeteilt[9]);
  353.        
  354.     }
  355.    
  356.     public int ausgebenBearbeitungsdialogKundenVerwaltung()
  357.     {
  358.         int zahl = 100;
  359.         while(zahl < 0 || zahl > 5 ){
  360.         System.out
  361.         .println("Was wollen Sie machen?"
  362.                 + "\n"
  363.                 + "(0) Kunden anlegen; (1) Kunden bearbeiten; (2) Kunden löschen; (3) Kunde anzeigen; (4) Kunden anzeigen; (5) Abbruch");
  364.        
  365.    
  366.        
  367.         zahl = einlesenIntZahl();
  368.         }
  369.        
  370.         return zahl;
  371.     }
  372.  
  373.     public String einlesenZuverleassigkeit()
  374.     {
  375.         System.out
  376.         .println("Geben Sie die Zuverlässigkeit ein: ");
  377.    
  378.         return einlesenString();
  379.     }
  380.  
  381.     public String einlesenKunde()
  382.     {
  383.         String firmenname = einlesenFirmenname();
  384.         String ansprechpartner = einlesenAnsprechpartner();
  385.         String strasse = einlesenStrasse();
  386.         String hausnummer = einlesenHausnummer();
  387.         String plz = einlesenPLZ();
  388.         String stadt = einlesenStadt();
  389.         String land = einlesenLand();
  390.         String telefonnummer = einlesenTelefonnummer();
  391.         String kunde = firmenname + ";" + ansprechpartner + ";" + strasse + ";"
  392.                 + hausnummer + ";" + plz + ";" + stadt + ";" + land + ";"
  393.                 + telefonnummer;
  394.        
  395.        
  396.         return kunde;
  397.     }
  398.  
  399.     public String einlesenLieferant()
  400.     {
  401.         String firmenname = einlesenFirmenname();
  402.         String ansprechpartner = einlesenAnsprechpartner();
  403.         String strasse = einlesenStrasse();
  404.         String hausnummer = einlesenHausnummer();
  405.         String plz = einlesenPLZ();
  406.         String stadt = einlesenStadt();
  407.         String land = einlesenLand();
  408.         String telefonnummer = einlesenTelefonnummer();
  409.         String zuverlaessigkeit = einlesenZuverleassigkeit();
  410.         String kunde = firmenname + ";" + ansprechpartner + ";" + strasse + ";"
  411.                 + hausnummer + ";" + plz + ";" + stadt + ";" + land + ";"
  412.                 + telefonnummer+";"+zuverlaessigkeit;
  413.        
  414.        
  415.         return kunde;
  416.     }
  417.  
  418.     public String einlesenString() {
  419.  
  420.         boolean fehler = true;
  421.         String eingabe = "";
  422.  
  423.         while (fehler == true) {
  424.             fehler = true;
  425.  
  426.             try {
  427.                 eingabe = br.readLine();
  428.                 fehler = false;
  429.             } catch (IOException e) {
  430.                 e.printStackTrace();
  431.             } catch (StringIndexOutOfBoundsException e) {
  432.                 System.out.println("Sie muessen etwas eingeben.");
  433.  
  434.             }
  435.         }
  436.         return eingabe;
  437.     }
  438.  
  439.     public String einlesenFirmenname() {
  440.         System.out.print("Geben Sie den Firmennamen ein:");
  441.         return einlesenString();
  442.     }
  443.  
  444.     public String einlesenAnsprechpartner() {
  445.         System.out.print("Geben Sie den Ansprechpartner ein:");
  446.         return einlesenString();
  447.     }
  448.  
  449.     public String einlesenStrasse() {
  450.         System.out.print("Geben Sie die Strasse ein:");
  451.         return einlesenString();
  452.     }
  453.  
  454.     public String einlesenHausnummer() {
  455.         System.out.print("Geben Sie die Hausnummer ein:");
  456.         return einlesenString();
  457.     }
  458.  
  459.     public String einlesenStadt() {
  460.         System.out.print("Geben Sie die Stadt ein:");
  461.         return einlesenString();
  462.     }
  463.  
  464.     public String einlesenLand() {
  465.         boolean fehler = true;
  466.         String eingabe = "";
  467.        
  468.         do{
  469.         System.out.print("Geben Sie das Land ein:");
  470.         eingabe = einlesenString();
  471.        
  472.         try
  473.         {
  474.         Land land = Land.valueOf(eingabe);
  475.         fehler=false;
  476.         }
  477.         catch(IllegalArgumentException e)
  478.         {
  479.             System.out.println("Das Land liegt nicht in der EU!");
  480.         }
  481.         }while(fehler == true);
  482.        
  483.         return eingabe;
  484.     }
  485.  
  486.     public String einlesenPLZ() {
  487.         System.out.print("Geben Sie die PLZ ein:");
  488.         return einlesenString();
  489.     }
  490.  
  491.     public String einlesenTelefonnummer() {
  492.         System.out.print("Geben Sie die Telefonnummer ein:");
  493.         return einlesenString();
  494.     }
  495.  
  496.     public double einlesenLaenge() {
  497.         // max. 13m
  498.         double laenge = 0;
  499.  
  500.         do {
  501.             System.out.print("Geben Sie die Länge ein:");
  502.  
  503.             laenge = einlesenDoubleZahl();
  504.             if (laenge > 13 || laenge <= 0.001) {
  505.                 System.out
  506.                         .println("Ungültige Länge. Geben Sie eine Länge zwischen 0.001 und 13m ein:");
  507.             }
  508.         } while (laenge > 13 || laenge < 0.001);
  509.        
  510.         return laenge;
  511.     }
  512.  
  513.     public double einlesenBreite() {
  514.         // 2,5m
  515.         double breite = 0;
  516.  
  517.         do {
  518.             System.out.print("Geben Sie die Länge ein:");
  519.  
  520.             breite = einlesenDoubleZahl();
  521.             if (breite > 2.5 || breite <= 0.001) {
  522.                 System.out
  523.                         .println("Ungültige Breite. Geben Sie eine Breite zwischen 0.001 und 2,5m ein:");
  524.             }
  525.         } while (breite > 2.5 || breite < 0.001);
  526.        
  527.         return breite;
  528.    
  529.     }
  530.  
  531.     public double einlesenHohoe() {
  532.         // 4,0m
  533.         double hohoe = 0;
  534.  
  535.         do {
  536.             System.out.print("Geben Sie die Höhe ein:");
  537.  
  538.             hohoe = einlesenDoubleZahl();
  539.             if (hohoe > 4 || hohoe <= 0.001) {
  540.                 System.out
  541.                         .println("Ungültige Höhe. Geben Sie eine Höhe zwischen 0.001 und 4m ein:");
  542.             }
  543.         } while (hohoe > 2.5 || hohoe < 0.001);
  544.        
  545.         return hohoe;
  546.     }
  547.  
  548.     public double einlesenGewicht() {
  549.         double gewicht = 0;
  550.  
  551.         do {
  552.             System.out.print("Geben Sie die Höhe ein:");
  553.  
  554.             gewicht = einlesenDoubleZahl();
  555.             if (gewicht > 60 || gewicht <= 0.001) {
  556.                 System.out
  557.                         .println("Ungültiges Gewicht. Geben Sie eine Höhe zwischen 0.001 und 60 Tonnen ein:");
  558.             }
  559.         } while (gewicht > 60 || gewicht < 0.001);
  560.        
  561.         return gewicht;
  562.     }
  563.  
  564. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement