Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package CurrencyConverter;
- import java.util.Scanner;
- import java.awt.List;
- import java.io.BufferedReader;
- import java.io.Console;
- import java.io.FileReader;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Arrays;
- public class CC {
- static ArrayList<String> allCurrencies = new ArrayList<String>();
- static String currencyName0;
- static String currencyName1;
- static double currencyAmount0 = 0;
- static double currencyAmount1 = 0;
- public static void main (String [] args) throws Exception {
- String cTB="not set"; //currencyName0 ?
- String cTS="not set"; //currencyName1 ?
- double iCTB =0.0;
- double iCTS =0.0;
- zeichne (cTB,cTS);
- currency();
- menue (cTB, cTS, iCTS, iCTB);
- }
- /*wird genutzt um das Menü mit aktuellen Inhalten zu zeichnen
- */
- static void zeichne (String a, String b){
- clearScreen(); //Screeninhalt wird gelöscht
- System.out.println(" Currency to buy: "+ a);
- System.out.println("Currency to sell: "+ b);
- System.out.println("+++++++++++++++++++++++++++++++++++++++++++");
- }
- /* Methode, mit der die Textdatei mit den Währungsinfos eingelesen wird
- *
- */
- static void currency()throws Exception{
- try{
- FileReader file = new FileReader("/Users/Ich/Documents/Studium/SE1/Bonusprojekt/currencies.txt"); //Pfad zur Datei wird eingelesen
- BufferedReader reader = new BufferedReader(file); //
- String tempLine;
- while((tempLine = reader.readLine()) != null){
- allCurrencies.add(tempLine);
- }
- }
- catch (IOException e){
- e.printStackTrace();
- }
- }
- static void menue (String cTB, String cTS, double iCTS, double iCTB){
- final Scanner scan = new Scanner(System.in); // Read user input
- System.out.println(" 0: Select currecy to buy\n 1: Select currency to sell\n 2: Choose amount to be converted\n");
- System.out.println("Please choose an option (x to exit):");
- final String menu = scan.nextLine(); //Wahl Nummer 1
- String platzhalter = "";
- switch (menu) {
- case "0": //currecy to buy
- setCurrency();
- currencyName0 = scan.nextLine(); // Name der Currency0 wird eingelesen
- exit(currencyName0);
- platzhalter = search(currencyName0);
- String[] x = platzhalter.split(":");
- cTB =x[0]; // Rückgabe der gewählten Währung
- iCTB = Double.parseDouble(x[1]);
- zeichne (cTB,cTS);
- menue (cTB, cTS, iCTS, iCTB);
- case "1": //currency to sell
- setCurrency();
- currencyName1 = scan.nextLine();
- exit(currencyName1);
- platzhalter = search(currencyName1);
- String[] x1 = platzhalter.split(":");
- cTS =x1[0]; // Rückgabe der gewählten Währung
- iCTS = Double.parseDouble(x1[1]);
- zeichne (cTB,cTS);
- menue (cTB, cTS, iCTS, iCTB);
- case "2":
- System.out.println("Enter an amount:");
- currencyAmount0 = scan.nextDouble();
- currencyAmount1 = iCTB * currencyAmount0/iCTS ; //c ist der Ausgelesene Faktor aus der Tabelle
- //System.out.println(iCTB);
- //System.out.println(iCTS);
- System.out.println(currencyAmount1);
- break;
- case "x":
- System.out.println("Bye");
- System.exit( 0 );
- default: System.out.println("Please choose between 0, 1 & 2 or x to exit");
- break;
- }
- }
- void buyCurrency(){
- System.out.println("Enter a currency's name or part of it: (xxx to exit)");
- // String currencyName1 = scan.nextLine();
- }
- //void Currency
- static void exit(String a){
- if (a=="xxx"){
- //TODO menue (cTB, cTS, iCTS, iCTB); zurück ins Menü springen
- }
- }
- static String search(String b){
- final Scanner scan2 = new Scanner(System.in); // Read user input
- ArrayList<String> currencyOptions = new ArrayList<String>();
- for(int i= 0; i<allCurrencies.size(); i++){
- if(allCurrencies.get(i).toLowerCase().contains(b.toLowerCase())){
- currencyOptions.add(allCurrencies.get(i)); //alle Währungen in denen das Eingegebene vorkommt, wird als Option ausgegeben
- }
- }
- if (1<currencyOptions.size()){ // wenn mehr als eine Option, dann muss gewählt werden
- for (int i=0; i<currencyOptions.size(); i++){
- String[] a= currencyOptions.get(i).split(":");
- System.out.println(i +" "+ a[0]); //Optionen werden mit Index ausgegeben
- }
- System.out.println("\nSelect Currency per Index:");// Wahl über Eingabe des Index
- return currencyOptions.get(scan2.nextInt()); // Rückgabe der gewählten Währung
- }
- else{
- return currencyOptions.get(0) ;} // Rückgabe der Währung
- }
- public static void clearScreen() {
- System.out.print("\033[H\033[2J"); //TODO funktioniert noch nicht richtig
- System.out.flush();
- }
- public static void setCurrency (){
- System.out.println("Enter a currency's name or part of it: (xxx to exit)");
- }
- //TODO fehlermeldungen errorhandling GANZ AM SCHLUSS -Anweisung Alex
- //TODO methoden zum auslagern aus den...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement