MAKS_Enjoyer

My life's work (+10x more pain and regrets aka java)

Aug 5th, 2022 (edited)
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 72.66 KB | Source Code | 0 0
  1. package com.example.demo;
  2.  
  3. // gigachad converter
  4. import java.io.BufferedWriter;
  5. import java.io.File;
  6. import java.io.FileWriter;
  7. import java.util.*;
  8.  
  9. public class Operational_Functional_Block {
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.         String repeatCommand = "";
  13.         while (!repeatCommand.equals("N")) {
  14.             System.out.println("Do you want to generate a new engine? [Y/N]");
  15.             System.out.print("> ");
  16.             repeatCommand = scanner.next();
  17.             repeatCommand = repeatCommand.toUpperCase();
  18.             if (repeatCommand.equals("N")) {
  19.                 System.exit(0);
  20.             } else if (repeatCommand.equals("Y")) {
  21.                 // Arrays
  22.                 String lbrk = "/////////////////////////////////////////////////////////////////";
  23.                 String[] engine_Name1 = {" \"Olympia\"", " \"Destiny\"", " \"Valiant\"", " \"Obsidian\"", " \"Leviathan\"",
  24.                         " \"Aurora\"", " \"Crusader\"", " \"Merlin\"", " \"Python\"", " \"Hypnos\"", " \"Juniper\"", " \"Dawn\"",
  25.                         " \"Kepler\"", " \"Elektron\"", " \"Aeon\"", " \"Ceres\"", " \"Copernicus\"", " \"Quaoar\"", " \"Athena\"",
  26.                         " \"Minotaur\"", " \"Agena\"", " \"Thor\"", " \"Vega\"", " \"Athena\"", " \"Minerva\"", " \"Kratos\"", " \"Odin\""};
  27.                 String[] engine_Cycle = {"Gas Generator", "Staged Combustion (Oxidiser Rich)", "Staged Combustion (Fuel Rich)",
  28.                         "Expander (Open)", "Expander (Closed)", "Dual Expander (Open)", "Dual Expander (Closed)", "Pressure-Fed",
  29.                         "Full Flow Staged", "Electric Pump Fed", "Combustion Tap Off", "Monopropellant (Cold Gas)",
  30.                         "Monopropellant (Decomposition)"};
  31.                 // String[] oxidiser_List_Original = {"O2 (Oxygen)", "F2 (Fluorine)", "F2 (Fluorine) + O2 (Oxygen)",
  32.                 //         "N2O4 (Nitrogen Tetroxide)", "N2H4 (Hydrazine)", "H2O2 (Hydrogen Peroxide) 95%",
  33.                 //         "H2O2 (Hydrogen Peroxide) 85%", "NOX (Nitrous Oxide)", "O3 (Ozone)",
  34.                 //         "AK20F: 80% HNO3 + 20% N2O4 (Nitric Acid)", "AK20I: 80% HNO3 + 20% N2O4 (Nitric Acid)",
  35.                 //         "AK20K: 80% HNO3 + 20% N2O4 (Nitric Acid)", "AK27I: 73% HNO3 + 27% N2O4 (Nitric Acid)",
  36.                 //         "AK27P: 73% HNO3 + 27% N2O4 (Nitric Acid)", "OF2 (Oxygen Difluoride)",
  37.                 //         "N2F4 (Tetrafluorohydrazine)", "ClF3 (Chlorine Trifluoride)", "ClF5 (Chlorine Pentafluoride)"};
  38.                 // String[] fuel_List_Original = {"H2 (Hydrogen)", "CH4 (Methane)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  39.                 //         "C6H5NH2 (Aniline)", "NH3 (Ammonia)", "75% CH6N2 + 25% N2H4 (UH-25)", "50% CH6N2 + 50% N2H4 (Aerosine-50)",
  40.                 //         "C2H8N2 (UnsymetricalDimethylHydrazine)", "CH6N2 (MonomethylHydrazine)", "N2H4 (Hydrazine)",
  41.                 //         "CH3OH (Methanol)", "C12H24 (Kerosene)", "B2H6 (Diborane)", "B5H9 (Pentaborane)", "C2H6 (Ethane)"};
  42.                 String[] propellant_List1 = {"H2O2 (Hydrogen Peroxide)", "N2H4 (Hydrazine)", "NH2OH+NO3 (Hydroxyl ammonium nitrate)"};
  43.                 String[] propellant_List2 = {"Nitrogen (N2)", "Helium (He)", "Carbon Dioxide (CO2)", "Ammonia (NH3)",
  44.                         "Hydrogen (H2)", "Methane (CH4)"};
  45.                 String[] altitude_Of_Operation = {"0-10 km (Sea Level)", "20-30 km (Medium Atmosphere)",
  46.                         "30-80 km (High Atmosphere)", "80 km+ (Vacuum)", "Any Altitude (0-80 km+)"};
  47.                 String[] tank_Repressurisation = {"Autogenously", "using Inert gas"};
  48.                 // String[] nozzle_Type_List_Original = {"Linear Aerospike", "Toroidal Aerospike", "Converging Diverging Cone (Without Nozzle Extension)",
  49.                 //     "Converging Diverging Cone (With Nozzle Extension)", "Converging Diverging Bell (With Nozzle Extension)",
  50.                 //     "Converging Diverging Bell (Without Nozzle Extension)"};
  51.                 String[] nozzle_Type_List1 = {"Converging Diverging Cone (Without Nozzle Extension)",
  52.                         "Converging Diverging Bell (Without Nozzle Extension)"};
  53.                 String[] firstPart = {"RD-", "RS-", "AJ-", "XLR-", "NK-", "RL-", "KDTU-"};
  54.  
  55.                 // Randomise Arrays
  56.                 Collections.shuffle(Arrays.asList(engine_Name1));
  57.                 Collections.shuffle(Arrays.asList(firstPart));
  58.                 Random engineNameChosen = new Random();
  59.                 Random firstPartC = new Random();
  60.                 int engineNameChosen_index = engineNameChosen.nextInt(engine_Name1.length);
  61.                 int firstPart_index = firstPartC.nextInt(firstPart.length);
  62.                 String engNameFinalf = engine_Name1[engineNameChosen_index];
  63.                 String firstPart_f = firstPart[firstPart_index];
  64.                 int v = (int) Math.round(Math.random() * 9);
  65.                 while (v == 0) {
  66.                     v = (int) Math.round(Math.random() * 9);
  67.                 }
  68.                 // Find number
  69.                 int numberOfNumbers = (int) Math.round(Math.random() * 3);
  70.                 int[] arrayOfNumbers = {0, 0, 0};
  71.                 int i = 2;
  72.                 while (numberOfNumbers <= i) {
  73.                     arrayOfNumbers[i] = (int) Math.round(Math.random() * 9);
  74.                     while (arrayOfNumbers[i] == 0) {
  75.                         arrayOfNumbers[i] = (int) Math.round(Math.random() * 9);
  76.                     }
  77.                     i--;
  78.                 }
  79.                 String engine_Name;
  80.                 String finalNumber2 = " " + arrayOfNumbers[0] + arrayOfNumbers[1] + arrayOfNumbers[2];
  81.                 String finalNumber1 = finalNumber2.trim();
  82.                 int finalNumber = Integer.parseInt(finalNumber1);
  83.                 // is it eligible for letter at end = NOOOOOOOO!!!
  84.                 if (finalNumber % v == 0) {
  85.                     engine_Name = firstPart_f + finalNumber + engNameFinalf;
  86.                 }
  87.                 // is it eligible for letter = yes (+ bonus KDTU Racism)
  88.                 else {
  89.                     Random random = new Random();
  90.                     char randomizedCharacter = (char) (random.nextInt(26) + 'A');
  91.                     engine_Name = firstPart_f + finalNumber + randomizedCharacter + engNameFinalf;
  92.                 }
  93.                 Collections.shuffle(Arrays.asList(engine_Cycle));
  94.                 Random engineCycleChosen = new Random();
  95.                 int engineTypeChosen_index = engineCycleChosen.nextInt(engine_Cycle.length);
  96.                 String engine_Cycle_Chosen = engine_Cycle[engineTypeChosen_index];
  97.  
  98.                 switch (engine_Cycle_Chosen) {
  99.                     case "Monopropellant (Decomposition)" -> {
  100.                         // Propellant (Decomposing Monopropellant)
  101.                         Collections.shuffle(Arrays.asList(propellant_List1));
  102.                         Random propellantChosen = new Random();
  103.                         int propellantChosen_index = propellantChosen.nextInt(propellant_List1.length);
  104.                         String propellant_List_Chosen = propellant_List1[propellantChosen_index];
  105.                         // Altitude of Operation (Decomposing Monopropellant)
  106.                         String altitude_Of_Operation_Chosen = "80 km+ (Vacuum)";
  107.                         // Nozzle Type (Decomposing Monopropellant)
  108.                         Collections.shuffle(Arrays.asList(nozzle_Type_List1));
  109.                         Random nozzle_chosen = new Random();
  110.                         int nozzleChosen_index = nozzle_chosen.nextInt(nozzle_Type_List1.length);
  111.                         String nozzle_Type_List_Chosen = nozzle_Type_List1[nozzleChosen_index];
  112.                         // Beautiful Part (Least non-ugly)
  113.                         System.out.println(lbrk);
  114.                         System.out.println("Your Engine is called: " + engine_Name);
  115.                         System.out.println(" ");
  116.                         System.out.println("Your Engine Cycle is: " + engine_Cycle_Chosen);
  117.                         System.out.println("Your Propellant is: " + propellant_List_Chosen);
  118.                         System.out.println("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  119.                         System.out.println("Your engine's nozzle type should be : " + nozzle_Type_List_Chosen);
  120.                         System.out.println("Tank repressurisation would be impractical and unnecessary");
  121.                         try {
  122.                             if (new File("C:\\Users\\sfsga\\IdeaProjects\\demo\\ofb_reg.xml").exists()) {
  123.                                 try {
  124.                                     FileWriter fwriteFinal = new FileWriter("obf_reg.xml", true);
  125.                                     fwriteFinal.write(lbrk);
  126.                                     fwriteFinal.write("\n");
  127.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  128.                                     fwriteFinal.write("\n");
  129.                                     fwriteFinal.write("\n");
  130.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  131.                                     fwriteFinal.write("\n");
  132.                                     fwriteFinal.write("Your Propellant is: " + propellant_List_Chosen);
  133.                                     fwriteFinal.write("\n");
  134.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  135.                                     fwriteFinal.write("\n");
  136.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_List_Chosen);
  137.                                     fwriteFinal.write("\n");
  138.                                     fwriteFinal.write("Tank repressurisation would be impractical and unnecessary");
  139.                                     fwriteFinal.write("\n");
  140.                                     fwriteFinal.close();
  141.                                     System.out.println("Successfully wrote to the file.");
  142.                                 } catch (Exception e) {
  143.                                     e.printStackTrace();
  144.                                 }
  145.                             }
  146.                             else {
  147.                                 try {
  148.                                     FileWriter fwrite = new FileWriter("obf_reg.xml", true);
  149.                                     BufferedWriter fwriteFinal = new BufferedWriter(fwrite);
  150.                                     fwriteFinal.write("\n");
  151.                                     fwriteFinal.write(lbrk);
  152.                                     fwriteFinal.write("\n");
  153.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  154.                                     fwriteFinal.write("\n");
  155.                                     fwriteFinal.write("\n");
  156.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  157.                                     fwriteFinal.write("\n");
  158.                                     fwriteFinal.write("Your Propellant is: " + propellant_List_Chosen);
  159.                                     fwriteFinal.write("\n");
  160.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  161.                                     fwriteFinal.write("\n");
  162.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_List_Chosen);
  163.                                     fwriteFinal.write("\n");
  164.                                     fwriteFinal.write("Tank repressurisation would be impractical and unnecessary");
  165.                                     fwriteFinal.write("\n");
  166.                                     fwriteFinal.close();
  167.                                     System.out.println("Successfully wrote to the file.");
  168.                                     System.out.println("File already exists.");
  169.                                 } catch (Exception e) {
  170.                                     e.printStackTrace();
  171.                                 }
  172.                             }
  173.                         } catch (Exception e) {
  174.                             e.printStackTrace();
  175.                         }
  176.                     }
  177.                     case "Monopropellant (Cold Gas)" -> {
  178.                         Collections.shuffle(Arrays.asList(propellant_List2));
  179.                         Random propellantChosen = new Random();
  180.                         int propellantChosen_index = propellantChosen.nextInt(propellant_List2.length);
  181.                         String propellant_List_Chosen = propellant_List2[propellantChosen_index];
  182.                         // Altitude of Operation (Decomposing Monopropellant)
  183.                         String altitude_Of_Operation_Chosen = "80 km+ (Vacuum)";
  184.                         // Nozzle Type (Decomposing Monopropellant)
  185.                         Collections.shuffle(Arrays.asList(nozzle_Type_List1));
  186.                         Random nozzle_chosen = new Random();
  187.                         int nozzleChosen_index = nozzle_chosen.nextInt(nozzle_Type_List1.length);
  188.                         String nozzle_Type_List_Chosen = nozzle_Type_List1[nozzleChosen_index];
  189.                         // Beautiful Part (Least non-ugly)
  190.                         System.out.println(lbrk);
  191.                         System.out.println("Your Engine is called: " + engine_Name);
  192.                         System.out.println(" ");
  193.                         System.out.println("Your Engine Cycle is: " + engine_Cycle_Chosen);
  194.                         System.out.println("Your Propellant is: " + propellant_List_Chosen);
  195.                         System.out.println("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  196.                         System.out.println("Your engine's nozzle type should be : " + nozzle_Type_List_Chosen);
  197.                         System.out.println("Tank repressurisation would be impractical and unnecessary");
  198.                         try {
  199.                             if (new File("C:\\Users\\sfsga\\IdeaProjects\\demo\\ofb_reg.xml").exists()) {
  200.                                 try {
  201.                                     FileWriter fwriteFinal = new FileWriter("obf_reg.xml", true);
  202.                                     fwriteFinal.write(lbrk);
  203.                                     fwriteFinal.write("\n");
  204.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  205.                                     fwriteFinal.write("\n");
  206.                                     fwriteFinal.write("\n");
  207.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  208.                                     fwriteFinal.write("\n");
  209.                                     fwriteFinal.write("Your Propellant is: " + propellant_List_Chosen);
  210.                                     fwriteFinal.write("\n");
  211.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  212.                                     fwriteFinal.write("\n");
  213.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_List_Chosen);
  214.                                     fwriteFinal.write("\n");
  215.                                     fwriteFinal.write("Tank repressurisation would be impractical and unnecessary");
  216.                                     fwriteFinal.write("\n");
  217.                                     fwriteFinal.close();
  218.                                     System.out.println("Successfully wrote to the file.");
  219.                                 } catch (Exception e) {
  220.                                     e.printStackTrace();
  221.                                 }
  222.                             }
  223.                             else {
  224.                                 try {
  225.                                     FileWriter fwrite = new FileWriter("obf_reg.xml", true);
  226.                                     BufferedWriter fwriteFinal = new BufferedWriter(fwrite);
  227.                                     fwriteFinal.write("\n");
  228.                                     fwriteFinal.write(lbrk);
  229.                                     fwriteFinal.write("\n");
  230.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  231.                                     fwriteFinal.write("\n");
  232.                                     fwriteFinal.write("\n");
  233.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  234.                                     fwriteFinal.write("\n");
  235.                                     fwriteFinal.write("Your Propellant is: " + propellant_List_Chosen);
  236.                                     fwriteFinal.write("\n");
  237.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  238.                                     fwriteFinal.write("\n");
  239.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_List_Chosen);
  240.                                     fwriteFinal.write("\n");
  241.                                     fwriteFinal.write("Tank repressurisation would be impractical and unnecessary");
  242.                                     fwriteFinal.write("\n");
  243.                                     fwriteFinal.close();
  244.                                     System.out.println("Successfully wrote to the file.");
  245.                                     System.out.println("File already exists.");
  246.                                 } catch (Exception e) {
  247.                                     e.printStackTrace();
  248.                                 }
  249.                             }
  250.                         } catch (Exception e) {
  251.                             e.printStackTrace();
  252.                         }
  253.                     }
  254.                     case "Expander (Closed)", "Expander (Open)" -> {
  255.                         String[] oxidiser_List2 = {"O2 (Oxygen)", "F2 (Fluorine)", "F2 (Fluorine) + O2 (Oxygen)",
  256.                                 "O3 (Ozone)"};
  257.                         Collections.shuffle(Arrays.asList(oxidiser_List2));
  258.                         Random oxidiserChosen = new Random();
  259.                         int oxidiserChosen_index = oxidiserChosen.nextInt(oxidiser_List2.length);
  260.                         String oxidiser_Chosen = oxidiser_List2[oxidiserChosen_index];
  261.                         String fuel_Chosen = null;
  262.                         switch (oxidiser_Chosen) {
  263.                             case "O2 (Oxygen)" -> {
  264.                                 String[] fuel_List20 = {"H2 (Hydrogen)", "CH4 (Methane)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  265.                                         "C6H5NH2 (Aniline)", "NH3 (Ammonia)", "CH6N2 (MonomethylHydrazine)", "N2H4 (Hydrazine)",
  266.                                         "CH3OH (Methanol)", "C12H24 (Kerosene)", "B2H6 (Diborane)", "B5H9 (Pentaborane)", "C2H6 (Ethane)"};
  267.                                 Collections.shuffle(Arrays.asList(fuel_List20));
  268.                                 Random fuelChosen = new Random();
  269.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List20.length);
  270.                                 fuel_Chosen = fuel_List20[fuelChosen_index];
  271.                             }
  272.                             case "F2 (Fluorine)" -> {
  273.                                 String[] fuel_List1 = {"H2 (Hydrogen)", "CH4 (Methane)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  274.                                         "C6H5NH2 (Aniline)", "NH3 (Ammonia)", "C2H8N2 (UnsymetricalDimethylHydrazine)",
  275.                                         "CH6N2 (MonomethylHydrazine)", "N2H4 (Hydrazine)", "CH3OH (Methanol)", "C12H24 (Kerosene)",
  276.                                         "B2H6 (Diborane)", "B5H9 (Pentaborane)", "C2H6 (Ethane)"};
  277.                                 Collections.shuffle(Arrays.asList(fuel_List1));
  278.                                 Random fuelChosen = new Random();
  279.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List1.length);
  280.                                 fuel_Chosen = fuel_List1[fuelChosen_index];
  281.                             }
  282.                             case "F2 (Fluorine) + O2 (Oxygen)", "O3 (Ozone)" -> {
  283.                                 String[] fuel_List2 = {"H2 (Hydrogen)", "N2H4 (Hydrazine)", "CH3OH (Methanol)",
  284.                                         "C12H24 (Kerosene)", "B2H6 (Diborane)", "B5H9 (Pentaborane)", "C2H6 (Ethane)"};
  285.                                 Collections.shuffle(Arrays.asList(fuel_List2));
  286.                                 Random fuelChosen = new Random();
  287.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List2.length);
  288.                                 fuel_Chosen = fuel_List2[fuelChosen_index];
  289.                             }
  290.                         }
  291.  
  292.                         Collections.shuffle(Arrays.asList(altitude_Of_Operation));
  293.                         Random altitudeOfOperationChosen = new Random();
  294.                         int altitudeOfOperationChosen_index = altitudeOfOperationChosen.nextInt(altitude_Of_Operation.length);
  295.                         String altitude_Of_Operation_Chosen = altitude_Of_Operation[altitudeOfOperationChosen_index];
  296.  
  297.                         String nozzle_Type_Chosen = null;
  298.                         switch (altitude_Of_Operation_Chosen) {
  299.                             case "0-10 km (Sea Level)" -> {
  300.                                 String[] nozzle_Type_List_SL = {"Converging Diverging Cone (Without Nozzle Extension)",
  301.                                         "Converging Diverging Bell (Without Nozzle Extension)"};
  302.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_SL));
  303.                                 Random nozzleTypeSLspikeChosen = new Random();
  304.                                 int nozzleTypeSLspikeChosen_index = nozzleTypeSLspikeChosen.nextInt(nozzle_Type_List_SL.length);
  305.                                 nozzle_Type_Chosen = nozzle_Type_List_SL[nozzleTypeSLspikeChosen_index];
  306.                             }
  307.                             case "20-30 km (Medium Atmosphere)", "30-80 km (High Atmosphere)", "80 km+ (Vacuum)" -> {
  308.                                 String[] nozzle_Type_List_HAE = {"Converging Diverging Cone (With Nozzle Extension)",
  309.                                         "Converging Diverging Bell (With Nozzle Extension)"};
  310.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_HAE));
  311.                                 Random nozzleTypeHAEspikeChosen = new Random();
  312.                                 int nozzleTypeHAEspikeChosen_index = nozzleTypeHAEspikeChosen.nextInt(nozzle_Type_List_HAE.length);
  313.                                 nozzle_Type_Chosen = nozzle_Type_List_HAE[nozzleTypeHAEspikeChosen_index];
  314.                             }
  315.                             case "Any Altitude (0-80 km+)" -> {
  316.                                 String[] nozzle_Type_List_Aero = {"Linear Aerospike", "Toroidal Aerospike"};
  317.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_Aero));
  318.                                 Random nozzleTypeAerospikeChosen = new Random();
  319.                                 int nozzleTypeAerospikeChosen_index = nozzleTypeAerospikeChosen.nextInt(nozzle_Type_List_Aero.length);
  320.                                 nozzle_Type_Chosen = nozzle_Type_List_Aero[nozzleTypeAerospikeChosen_index];
  321.                             }
  322.                         }
  323.  
  324.                         System.out.println(lbrk);
  325.                         System.out.println("Your Engine is called: " + engine_Name);
  326.                         System.out.println(" ");
  327.                         System.out.println("Your Engine Cycle is: " + engine_Cycle_Chosen);
  328.                         System.out.println("Your Oxidiser is: " + oxidiser_Chosen);
  329.                         System.out.println("Your Fuel is: " + fuel_Chosen);
  330.                         System.out.println("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  331.                         System.out.println("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  332.                         System.out.println("Tank repressurisation would be done Autogenously");
  333.                         try {
  334.                             if (new File("C:\\Users\\sfsga\\IdeaProjects\\demo\\ofb_reg.xml").exists()) {
  335.                                 try {
  336.                                     FileWriter fwriteFinal = new FileWriter("obf_reg.xml", true);
  337.                                     fwriteFinal.write(lbrk);
  338.                                     fwriteFinal.write("\n");
  339.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  340.                                     fwriteFinal.write("\n");
  341.                                     fwriteFinal.write("\n");
  342.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  343.                                     fwriteFinal.write("\n");
  344.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  345.                                     fwriteFinal.write("\n");
  346.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  347.                                     fwriteFinal.write("\n");
  348.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  349.                                     fwriteFinal.write("\n");
  350.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  351.                                     fwriteFinal.write("\n");
  352.                                     fwriteFinal.close();
  353.                                     System.out.println("Successfully wrote to the file.");
  354.                                 } catch (Exception e) {
  355.                                     e.printStackTrace();
  356.                                 }
  357.                             }
  358.                             else {
  359.                                 try {
  360.                                     FileWriter fwrite = new FileWriter("obf_reg.xml", true);
  361.                                     BufferedWriter fwriteFinal = new BufferedWriter(fwrite);
  362.                                     fwriteFinal.write("\n");
  363.                                     fwriteFinal.write(lbrk);
  364.                                     fwriteFinal.write("\n");
  365.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  366.                                     fwriteFinal.write("\n");
  367.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  368.                                     fwriteFinal.write("\n");
  369.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  370.                                     fwriteFinal.write("\n");
  371.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  372.                                     fwriteFinal.write("\n");
  373.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  374.                                     fwriteFinal.write("\n");
  375.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  376.                                     fwriteFinal.write("\n");
  377.                                     fwriteFinal.write("Tank repressurisation would be done Autogenously");
  378.                                     fwriteFinal.write("\n");
  379.                                     fwriteFinal.close();
  380.                                     System.out.println("Successfully wrote to the file.");
  381.                                     System.out.println("File already exists.");
  382.                                 } catch (Exception e) {
  383.                                     e.printStackTrace();
  384.                                 }
  385.                             }
  386.                         } catch (Exception e) {
  387.                             e.printStackTrace();
  388.                         }
  389.                     }
  390.  
  391.                     case "Dual Expander (Closed)", "Dual Expander (Open)" -> {
  392.                         String[] oxidiser_List3 = {"O2 (Oxygen)", "F2 (Fluorine)", "F2 (Fluorine) + O2 (Oxygen)"};
  393.                         Collections.shuffle(Arrays.asList(oxidiser_List3));
  394.                         Random oxidiserChosen = new Random();
  395.                         int oxidiserChosen_index = oxidiserChosen.nextInt(oxidiser_List3.length);
  396.                         String oxidiser_Chosen = oxidiser_List3[oxidiserChosen_index];
  397.  
  398.                         String fuel_Chosen = null;
  399.                         if (oxidiser_Chosen.equals("O2 (Oxygen)") || oxidiser_Chosen.equals("F2 (Fluorine)") ||
  400.                                 oxidiser_Chosen.equals("F2 (Fluorine) + O2 (Oxygen") || oxidiser_Chosen.equals("O3 (Ozone)")) {
  401.                             String[] fuel_List3 = {"H2 (Hydrogen)", "CH4 (Methane)"};
  402.                             Collections.shuffle(Arrays.asList(fuel_List3));
  403.                             Random fuelChosen = new Random();
  404.                             int fuelChosen_index = fuelChosen.nextInt(fuel_List3.length);
  405.                             fuel_Chosen = fuel_List3[fuelChosen_index];
  406.                         }
  407.  
  408.                         Collections.shuffle(Arrays.asList(altitude_Of_Operation));
  409.                         Random altitudeOfOperationChosen = new Random();
  410.                         int altitudeOfOperationChosen_index = altitudeOfOperationChosen.nextInt(altitude_Of_Operation.length);
  411.                         String altitude_Of_Operation_Chosen = altitude_Of_Operation[altitudeOfOperationChosen_index];
  412.  
  413.                         String nozzle_Type_Chosen = null;
  414.                         switch (altitude_Of_Operation_Chosen) {
  415.                             case "0-10 km (Sea Level)" -> {
  416.                                 String[] nozzle_Type_List_SL = {"Converging Diverging Cone (Without Nozzle Extension)",
  417.                                         "Converging Diverging Bell (Without Nozzle Extension)"};
  418.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_SL));
  419.                                 Random nozzleTypeSLspikeChosen = new Random();
  420.                                 int nozzleTypeSLspikeChosen_index = nozzleTypeSLspikeChosen.nextInt(nozzle_Type_List_SL.length);
  421.                                 nozzle_Type_Chosen = nozzle_Type_List_SL[nozzleTypeSLspikeChosen_index];
  422.                             }
  423.                             case "20-30 km (Medium Atmosphere)", "30-80 km (High Atmosphere)", "80 km+ (Vacuum)" -> {
  424.                                 String[] nozzle_Type_List_HAE = {"Converging Diverging Cone (With Nozzle Extension)",
  425.                                         "Converging Diverging Bell (With Nozzle Extension)"};
  426.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_HAE));
  427.                                 Random nozzleTypeHAEspikeChosen = new Random();
  428.                                 int nozzleTypeHAEspikeChosen_index = nozzleTypeHAEspikeChosen.nextInt(nozzle_Type_List_HAE.length);
  429.                                 nozzle_Type_Chosen = nozzle_Type_List_HAE[nozzleTypeHAEspikeChosen_index];
  430.                             }
  431.                             case "Any Altitude (0-80 km+)" -> {
  432.                                 String[] nozzle_Type_List_Aero = {"Linear Aerospike", "Toroidal Aerospike"};
  433.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_Aero));
  434.                                 Random nozzleTypeAerospikeChosen = new Random();
  435.                                 int nozzleTypeAerospikeChosen_index = nozzleTypeAerospikeChosen.nextInt(nozzle_Type_List_Aero.length);
  436.                                 nozzle_Type_Chosen = nozzle_Type_List_Aero[nozzleTypeAerospikeChosen_index];
  437.                             }
  438.                         }
  439.  
  440.                         System.out.println(lbrk);
  441.                         System.out.println("Your Engine is called: " + engine_Name);
  442.                         System.out.println(" ");
  443.                         System.out.println("Your Engine Cycle is: " + engine_Cycle_Chosen);
  444.                         System.out.println("Your Oxidiser is: " + oxidiser_Chosen);
  445.                         System.out.println("Your Fuel is: " + fuel_Chosen);
  446.                         System.out.println("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  447.                         System.out.println("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  448.                         System.out.println("Tank repressurisation would be done Autogenously");
  449.                         try {
  450.                             if (new File("C:\\Users\\sfsga\\IdeaProjects\\demo\\ofb_reg.xml").exists()) {
  451.                                 try {
  452.                                     FileWriter fwriteFinal = new FileWriter("obf_reg.xml", true);
  453.                                     fwriteFinal.write(lbrk);
  454.                                     fwriteFinal.write("\n");
  455.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  456.                                     fwriteFinal.write("\n");
  457.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  458.                                     fwriteFinal.write("\n");
  459.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  460.                                     fwriteFinal.write("\n");
  461.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  462.                                     fwriteFinal.write("\n");
  463.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  464.                                     fwriteFinal.write("\n");
  465.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  466.                                     fwriteFinal.write("\n");
  467.                                     fwriteFinal.close();
  468.                                     System.out.println("Successfully wrote to the file.");
  469.                                 } catch (Exception e) {
  470.                                     e.printStackTrace();
  471.                                 }
  472.                             }
  473.                             else {
  474.                                 try {
  475.                                     FileWriter fwrite = new FileWriter("obf_reg.xml", true);
  476.                                     BufferedWriter fwriteFinal = new BufferedWriter(fwrite);
  477.                                     fwriteFinal.write("\n");
  478.                                     fwriteFinal.write(lbrk);
  479.                                     fwriteFinal.write("\n");
  480.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  481.                                     fwriteFinal.write("\n");
  482.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  483.                                     fwriteFinal.write("\n");
  484.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  485.                                     fwriteFinal.write("\n");
  486.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  487.                                     fwriteFinal.write("\n");
  488.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  489.                                     fwriteFinal.write("\n");
  490.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  491.                                     fwriteFinal.write("\n");
  492.                                     fwriteFinal.write("Tank repressurisation would be done Autogenously");
  493.                                     fwriteFinal.write("\n");
  494.                                     fwriteFinal.close();
  495.                                     System.out.println("Successfully wrote to the file.");
  496.                                     System.out.println("File already exists.");
  497.                                 } catch (Exception e) {
  498.                                     e.printStackTrace();
  499.                                 }
  500.                             }
  501.                         } catch (Exception e) {
  502.                             e.printStackTrace();
  503.                         }
  504.                     }
  505.  
  506.                     case "Staged Combustion (Fuel Rich)" -> {
  507.                         String[] oxidiser_List4 = {"O2 (Oxygen)", "F2 (Fluorine)", "F2 (Fluorine) + O2 (Oxygen)",
  508.                                 "N2H4 (Hydrazine)", "O3 (Ozone)"};
  509.                         Collections.shuffle(Arrays.asList(oxidiser_List4));
  510.                         Random oxidiserChosen = new Random();
  511.                         int oxidiserChosen_index = oxidiserChosen.nextInt(oxidiser_List4.length);
  512.                         String oxidiser_Chosen = oxidiser_List4[oxidiserChosen_index];
  513.  
  514.                         String fuel_Chosen = null;
  515.                         switch (oxidiser_Chosen) {
  516.                             case "O2 (Oxygen)", "F2 (Fluorine)" -> {
  517.                                 String[] fuel_List4 = {"H2 (Hydrogen)", "NH3 (Ammonia)", "N2H4 (Hydrazine)", "B2H6 (Diborane)",
  518.                                         "B5H9 (Pentaborane)"};
  519.                                 Collections.shuffle(Arrays.asList(fuel_List4));
  520.                                 Random fuelChosen = new Random();
  521.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List4.length);
  522.                                 fuel_Chosen = fuel_List4[fuelChosen_index];
  523.                             }
  524.                             case "F2 (Fluorine) + O2 (Oxygen)", "O3 (Ozone)" -> {
  525.                                 String[] fuel_List6 = {"H2 (Hydrogen)", "B2H6 (Diborane)", "B5H9 (Pentaborane)"};
  526.                                 Collections.shuffle(Arrays.asList(fuel_List6));
  527.                                 Random fuelChosen = new Random();
  528.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List6.length);
  529.                                 fuel_Chosen = fuel_List6[fuelChosen_index];
  530.                             }
  531.                             case "N2H4 (Hydrazine)" -> {
  532.                                 String[] fuel_List7 = {"H2 (Hydrogen)", "B2H6 (Diborane)"};
  533.                                 Collections.shuffle(Arrays.asList(fuel_List7));
  534.                                 Random fuelChosen = new Random();
  535.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List7.length);
  536.                                 fuel_Chosen = fuel_List7[fuelChosen_index];
  537.                             }
  538.                         }
  539.                         Collections.shuffle(Arrays.asList(tank_Repressurisation));
  540.                         Random tankRepressurisationChosen = new Random();
  541.                         int tankRepressurisationChosen_index = tankRepressurisationChosen.nextInt(tank_Repressurisation.length);
  542.                         String tank_Repressurisation_Chosen = tank_Repressurisation[tankRepressurisationChosen_index];
  543.  
  544.                         Collections.shuffle(Arrays.asList(altitude_Of_Operation));
  545.                         Random altitudeOfOperationChosen = new Random();
  546.                         int altitudeOfOperationChosen_index = altitudeOfOperationChosen.nextInt(altitude_Of_Operation.length);
  547.                         String altitude_Of_Operation_Chosen = altitude_Of_Operation[altitudeOfOperationChosen_index];
  548.  
  549.                         String nozzle_Type_Chosen = null;
  550.                         switch (altitude_Of_Operation_Chosen) {
  551.                             case "0-10 km (Sea Level)" -> {
  552.                                 String[] nozzle_Type_List_SL = {"Converging Diverging Cone (Without Nozzle Extension)",
  553.                                         "Converging Diverging Bell (Without Nozzle Extension)"};
  554.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_SL));
  555.                                 Random nozzleTypeSLspikeChosen = new Random();
  556.                                 int nozzleTypeSLspikeChosen_index = nozzleTypeSLspikeChosen.nextInt(nozzle_Type_List_SL.length);
  557.                                 nozzle_Type_Chosen = nozzle_Type_List_SL[nozzleTypeSLspikeChosen_index];
  558.                             }
  559.                             case "20-30 km (Medium Atmosphere)", "30-80 km (High Atmosphere)", "80 km+ (Vacuum)" -> {
  560.                                 String[] nozzle_Type_List_HAE = {"Converging Diverging Cone (With Nozzle Extension)",
  561.                                         "Converging Diverging Bell (With Nozzle Extension)"};
  562.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_HAE));
  563.                                 Random nozzleTypeHAEspikeChosen = new Random();
  564.                                 int nozzleTypeHAEspikeChosen_index = nozzleTypeHAEspikeChosen.nextInt(nozzle_Type_List_HAE.length);
  565.                                 nozzle_Type_Chosen = nozzle_Type_List_HAE[nozzleTypeHAEspikeChosen_index];
  566.                             }
  567.                             case "Any Altitude (0-80 km+)" -> {
  568.                                 String[] nozzle_Type_List_Aero = {"Linear Aerospike", "Toroidal Aerospike"};
  569.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_Aero));
  570.                                 Random nozzleTypeAerospikeChosen = new Random();
  571.                                 int nozzleTypeAerospikeChosen_index = nozzleTypeAerospikeChosen.nextInt(nozzle_Type_List_Aero.length);
  572.                                 nozzle_Type_Chosen = nozzle_Type_List_Aero[nozzleTypeAerospikeChosen_index];
  573.                             }
  574.                         }
  575.  
  576.                         System.out.println(lbrk);
  577.                         System.out.println("Your Engine is called: " + engine_Name);
  578.                         System.out.println(" ");
  579.                         System.out.println("Your Engine Cycle is: " + engine_Cycle_Chosen);
  580.                         System.out.println("Your Oxidiser is: " + oxidiser_Chosen);
  581.                         System.out.println("Your Fuel is: " + fuel_Chosen);
  582.                         System.out.println("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  583.                         System.out.println("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  584.                         System.out.println("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  585.                         System.out.println(" ");
  586.                         try {
  587.                             if (new File("C:\\Users\\sfsga\\IdeaProjects\\demo\\ofb_reg.xml").exists()) {
  588.                                 try {
  589.                                     FileWriter fwriteFinal = new FileWriter("obf_reg.xml", true);
  590.                                     fwriteFinal.write(lbrk);
  591.                                     fwriteFinal.write("\n");
  592.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  593.                                     fwriteFinal.write("\n");
  594.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  595.                                     fwriteFinal.write("\n");
  596.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  597.                                     fwriteFinal.write("\n");
  598.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  599.                                     fwriteFinal.write("\n");
  600.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  601.                                     fwriteFinal.write("\n");
  602.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  603.                                     fwriteFinal.write("\n");
  604.                                     fwriteFinal.write("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  605.                                     fwriteFinal.write("\n");
  606.                                     fwriteFinal.close();
  607.                                     System.out.println("Successfully wrote to the file.");
  608.                                 } catch (Exception e) {
  609.                                     e.printStackTrace();
  610.                                 }
  611.                             }
  612.                             else {
  613.                                 try {
  614.                                     FileWriter fwrite = new FileWriter("obf_reg.xml", true);
  615.                                     BufferedWriter fwriteFinal = new BufferedWriter(fwrite);
  616.                                     fwriteFinal.write("\n");
  617.                                     fwriteFinal.write(lbrk);
  618.                                     fwriteFinal.write("\n");
  619.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  620.                                     fwriteFinal.write("\n");
  621.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  622.                                     fwriteFinal.write("\n");
  623.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  624.                                     fwriteFinal.write("\n");
  625.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  626.                                     fwriteFinal.write("\n");
  627.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  628.                                     fwriteFinal.write("\n");
  629.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  630.                                     fwriteFinal.write("\n");
  631.                                     fwriteFinal.write("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  632.                                     fwriteFinal.write("\n");
  633.                                     fwriteFinal.close();
  634.                                     System.out.println("Successfully wrote to the file.");
  635.                                     System.out.println("File already exists.");
  636.                                 } catch (Exception e) {
  637.                                     e.printStackTrace();
  638.                                 }
  639.                             }
  640.                         } catch (Exception e) {
  641.                             e.printStackTrace();
  642.                         }
  643.                     }
  644.  
  645.                     case "Full Flow Staged Combustion", "Combustion Tap Off" -> {
  646.                         String[] oxidiser_List4 = {"O2 (Oxygen)", "F2 (Fluorine)", "F2 (Fluorine) + O2 (Oxygen)",
  647.                                 "N2H4 (Hydrazine)", "O3 (Ozone)"};
  648.                         Collections.shuffle(Arrays.asList(oxidiser_List4));
  649.                         Random oxidiserChosen = new Random();
  650.                         int oxidiserChosen_index = oxidiserChosen.nextInt(oxidiser_List4.length);
  651.                         String oxidiser_Chosen = oxidiser_List4[oxidiserChosen_index];
  652.  
  653.                         String fuel_Chosen = null;
  654.                         switch (oxidiser_Chosen) {
  655.                             case "O2 (Oxygen)" -> {
  656.                                 String[] fuel_List4 = {"H2 (Hydrogen)", "CH4 (Methane)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  657.                                         "C6H5NH2 (Aniline)", "NH3 (Ammonia)", "CH6N2 (MonomethylHydrazine)", "N2H4 (Hydrazine)",
  658.                                         "CH3OH (Methanol)", "B2H6 (Diborane)", "B5H9 (Pentaborane)", "C2H6 (Ethane)"};
  659.                                 Collections.shuffle(Arrays.asList(fuel_List4));
  660.                                 Random fuelChosen = new Random();
  661.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List4.length);
  662.                                 fuel_Chosen = fuel_List4[fuelChosen_index];
  663.                             }
  664.                             case "F2 (Fluorine)" -> {
  665.                                 String[] fuel_List5 = {"H2 (Hydrogen)", "CH4 (Methane)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  666.                                         "NH3 (Ammonia)", "C2H8N2 (UnsymetricalDimethylHydrazine)", "CH6N2 (MonomethylHydrazine)",
  667.                                         "N2H4 (Hydrazine)", "CH3OH (Methanol)", "B2H6 (Diborane)", "B5H9 (Pentaborane)", "C2H6 (Ethane)"};
  668.                                 Collections.shuffle(Arrays.asList(fuel_List5));
  669.                                 Random fuelChosen = new Random();
  670.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List5.length);
  671.                                 fuel_Chosen = fuel_List5[fuelChosen_index];
  672.                             }
  673.                             case "F2 (Fluorine) + O2 (Oxygen)", "O3 (Ozone)" -> {
  674.                                 String[] fuel_List6 = {"H2 (Hydrogen)", "CH4 (Methane)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  675.                                         "C6H5NH2 (Aniline)", "75% CH6N2 + 25% N2H4 (UH-25)", "50% CH6N2 + 50% N2H4 (Aerosine-50)",
  676.                                         "CH6N2 (MonomethylHydrazine)", "B2H6 (Diborane)", "B5H9 (Pentaborane)"};
  677.                                 Collections.shuffle(Arrays.asList(fuel_List6));
  678.                                 Random fuelChosen = new Random();
  679.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List6.length);
  680.                                 fuel_Chosen = fuel_List6[fuelChosen_index];
  681.                             }
  682.                             case "N2H4 (Hydrazine)" -> {
  683.                                 String[] fuel_List7 = {"H2 (Hydrogen)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  684.                                         "C6H5NH2 (Aniline)", "75% CH6N2 + 25% N2H4 (UH-25)", "50% CH6N2 + 50% N2H4 (Aerosine-50)",
  685.                                         "C2H8N2 (UnsymetricalDimethylHydrazine)", "CH3OH (Methanol)", "B2H6 (Diborane)"};
  686.                                 Collections.shuffle(Arrays.asList(fuel_List7));
  687.                                 Random fuelChosen = new Random();
  688.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List7.length);
  689.                                 fuel_Chosen = fuel_List7[fuelChosen_index];
  690.                             }
  691.                         }
  692.                         Collections.shuffle(Arrays.asList(tank_Repressurisation));
  693.                         Random tankRepressurisationChosen = new Random();
  694.                         int tankRepressurisationChosen_index = tankRepressurisationChosen.nextInt(tank_Repressurisation.length);
  695.                         String tank_Repressurisation_Chosen = tank_Repressurisation[tankRepressurisationChosen_index];
  696.  
  697.                         Collections.shuffle(Arrays.asList(altitude_Of_Operation));
  698.                         Random altitudeOfOperationChosen = new Random();
  699.                         int altitudeOfOperationChosen_index = altitudeOfOperationChosen.nextInt(altitude_Of_Operation.length);
  700.                         String altitude_Of_Operation_Chosen = altitude_Of_Operation[altitudeOfOperationChosen_index];
  701.  
  702.                         String nozzle_Type_Chosen = null;
  703.                         switch (altitude_Of_Operation_Chosen) {
  704.                             case "0-10 km (Sea Level)" -> {
  705.                                 String[] nozzle_Type_List_SL = {"Converging Diverging Cone (Without Nozzle Extension)",
  706.                                         "Converging Diverging Bell (Without Nozzle Extension)"};
  707.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_SL));
  708.                                 Random nozzleTypeSLspikeChosen = new Random();
  709.                                 int nozzleTypeSLspikeChosen_index = nozzleTypeSLspikeChosen.nextInt(nozzle_Type_List_SL.length);
  710.                                 nozzle_Type_Chosen = nozzle_Type_List_SL[nozzleTypeSLspikeChosen_index];
  711.                             }
  712.                             case "20-30 km (Medium Atmosphere)", "30-80 km (High Atmosphere)", "80 km+ (Vacuum)" -> {
  713.                                 String[] nozzle_Type_List_HAE = {"Converging Diverging Cone (With Nozzle Extension)",
  714.                                         "Converging Diverging Bell (With Nozzle Extension)"};
  715.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_HAE));
  716.                                 Random nozzleTypeHAEspikeChosen = new Random();
  717.                                 int nozzleTypeHAEspikeChosen_index = nozzleTypeHAEspikeChosen.nextInt(nozzle_Type_List_HAE.length);
  718.                                 nozzle_Type_Chosen = nozzle_Type_List_HAE[nozzleTypeHAEspikeChosen_index];
  719.                             }
  720.                             case "Any Altitude (0-80 km+)" -> {
  721.                                 String[] nozzle_Type_List_Aero = {"Linear Aerospike", "Toroidal Aerospike"};
  722.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_Aero));
  723.                                 Random nozzleTypeAerospikeChosen = new Random();
  724.                                 int nozzleTypeAerospikeChosen_index = nozzleTypeAerospikeChosen.nextInt(nozzle_Type_List_Aero.length);
  725.                                 nozzle_Type_Chosen = nozzle_Type_List_Aero[nozzleTypeAerospikeChosen_index];
  726.                             }
  727.                         }
  728.  
  729.                         System.out.println(lbrk);
  730.                         System.out.println("Your Engine is called: " + engine_Name);
  731.                         System.out.println(" ");
  732.                         System.out.println("Your Engine Cycle is: " + engine_Cycle_Chosen);
  733.                         System.out.println("Your Oxidiser is: " + oxidiser_Chosen);
  734.                         System.out.println("Your Fuel is: " + fuel_Chosen);
  735.                         System.out.println("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  736.                         System.out.println("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  737.                         System.out.println("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  738.                         System.out.println(" ");
  739.                         try {
  740.                             if (new File("C:\\Users\\sfsga\\IdeaProjects\\demo\\ofb_reg.xml").exists()) {
  741.                                 try {
  742.                                     FileWriter fwriteFinal = new FileWriter("obf_reg.xml", true);
  743.                                     fwriteFinal.write(lbrk);
  744.                                     fwriteFinal.write("\n");
  745.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  746.                                     fwriteFinal.write("\n");
  747.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  748.                                     fwriteFinal.write("\n");
  749.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  750.                                     fwriteFinal.write("\n");
  751.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  752.                                     fwriteFinal.write("\n");
  753.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  754.                                     fwriteFinal.write("\n");
  755.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  756.                                     fwriteFinal.write("\n");
  757.                                     fwriteFinal.write("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  758.                                     fwriteFinal.write("\n");
  759.                                     fwriteFinal.close();
  760.                                     System.out.println("Successfully wrote to the file.");
  761.                                 } catch (Exception e) {
  762.                                     e.printStackTrace();
  763.                                 }
  764.                             }
  765.                             else {
  766.                                 try {
  767.                                     FileWriter fwrite = new FileWriter("obf_reg.xml", true);
  768.                                     BufferedWriter fwriteFinal = new BufferedWriter(fwrite);
  769.                                     fwriteFinal.write("\n");
  770.                                     fwriteFinal.write(lbrk);
  771.                                     fwriteFinal.write("\n");
  772.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  773.                                     fwriteFinal.write("\n");
  774.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  775.                                     fwriteFinal.write("\n");
  776.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  777.                                     fwriteFinal.write("\n");
  778.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  779.                                     fwriteFinal.write("\n");
  780.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  781.                                     fwriteFinal.write("\n");
  782.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  783.                                     fwriteFinal.write("\n");
  784.                                     fwriteFinal.write("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  785.                                     fwriteFinal.write("\n");
  786.                                     fwriteFinal.close();
  787.                                     System.out.println("Successfully wrote to the file.");
  788.                                     System.out.println("File already exists.");
  789.                                 } catch (Exception e) {
  790.                                     e.printStackTrace();
  791.                                 }
  792.                             }
  793.                         } catch (Exception e) {
  794.                             e.printStackTrace();
  795.                         }
  796.                     }
  797.  
  798.                     default -> {
  799.                         String[] oxidiser_List6 = {"O2 (Oxygen)", "F2 (Fluorine)", "F2 (Fluorine) + O2 (Oxygen)",
  800.                                 "N2O4 (Nitrogen Tetroxide)", "N2H4 (Hydrazine)", "H2O2 (Hydrogen Peroxide) 95%",
  801.                                 "H2O2 (Hydrogen Peroxide) 85%", "O3 (Ozone)", "AK20F: 80% HNO3 + 20% N2O4 (Nitric Acid)",
  802.                                 "AK20I: 80% HNO3 + 20% N2O4 (Nitric Acid)", "AK20K: 80% HNO3 + 20% N2O4 (Nitric Acid)",
  803.                                 "AK27I: 73% HNO3 + 27% N2O4 (Nitric Acid)", "AK27P: 73% HNO3 + 27% N2O4 (Nitric Acid)",
  804.                                 "OF2 (Oxygen Difluoride)", "ClF3 (Chlorine Trifluoride)", "ClF5 (Chlorine Pentafluoride)"};
  805.                         Collections.shuffle(Arrays.asList(oxidiser_List6));
  806.                         Random oxidiserChosen = new Random();
  807.                         int oxidiserChosen_index = oxidiserChosen.nextInt(oxidiser_List6.length);
  808.                         String oxidiser_Chosen = oxidiser_List6[oxidiserChosen_index];
  809.  
  810.                         String fuel_Chosen = null;
  811.                         switch (oxidiser_Chosen) {
  812.                             case "O2 (Oxygen)" -> {
  813.                                 String[] fuel_List8 = {"H2 (Hydrogen)", "CH4 (Methane)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  814.                                         "C6H5NH2 (Aniline)", "NH3 (Ammonia)", "CH6N2 (MonomethylHydrazine)",
  815.                                         "N2H4 (Hydrazine)", "CH3OH (Methanol)", "C12H24 (Kerosene)", "B2H6 (Diborane)", "B5H9 (Pentaborane)",
  816.                                         "C2H6 (Ethane)"};
  817.                                 Collections.shuffle(Arrays.asList(fuel_List8));
  818.                                 Random fuelChosen = new Random();
  819.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List8.length);
  820.                                 fuel_Chosen = fuel_List8[fuelChosen_index];
  821.                             }
  822.                             case "F2 (Fluorine)" -> {
  823.                                 String[] fuel_List9 = {"H2 (Hydrogen)", "CH4 (Methane)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  824.                                         "C6H5NH2 (Aniline)", "NH3 (Ammonia)",
  825.                                         "C2H8N2 (UnsymetricalDimethylHydrazine)", "CH6N2 (MonomethylHydrazine)", "N2H4 (Hydrazine)",
  826.                                         "CH3OH (Methanol)", "C12H24 (Kerosene)", "B2H6 (Diborane)", "B5H9 (Pentaborane)", "C2H6 (Ethane)"};
  827.                                 Collections.shuffle(Arrays.asList(fuel_List9));
  828.                                 Random fuelChosen = new Random();
  829.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List9.length);
  830.                                 fuel_Chosen = fuel_List9[fuelChosen_index];
  831.                             }
  832.                             case "F2 (Fluorine) + O2 (Oxygen)", "O3 (Ozone)" -> {
  833.                                 String[] fuel_List10 = {"H2 (Hydrogen)", "CH3OH (Methanol)", "C12H24 (Kerosene)", "B2H6 (Diborane)",
  834.                                         "B5H9 (Pentaborane)", "C2H6 (Ethane)"};
  835.                                 Collections.shuffle(Arrays.asList(fuel_List10));
  836.                                 Random fuelChosen = new Random();
  837.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List10.length);
  838.                                 fuel_Chosen = fuel_List10[fuelChosen_index];
  839.                             }
  840.                             case "AK20F: 80% HNO3 + 20% N2O4 (Nitric Acid)", "AK20I: 80% HNO3 + 20% N2O4 (Nitric Acid)",
  841.                                     "AK20K: 80% HNO3 + 20% N2O4 (Nitric Acid)", "AK27I: 73% HNO3 + 27% N2O4 (Nitric Acid)",
  842.                                     "AK27P: 73% HNO3 + 27% N2O4 (Nitric Acid)", "ClF3 (Chlorine Trifluoride)",
  843.                                     "ClF5 (Chlorine Pentafluoride)" -> {
  844.                                 String[] fuel_List11 = {"C2H5OH(Ethanol) 85%", "CH6N2 (MonomethylHydrazine)", "N2H4 (Hydrazine)",
  845.                                         "CH3OH (Methanol)"};
  846.                                 Collections.shuffle(Arrays.asList(fuel_List11));
  847.                                 Random fuelChosen = new Random();
  848.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List11.length);
  849.                                 fuel_Chosen = fuel_List11[fuelChosen_index];
  850.                             }
  851.                             case "N2O4 (Nitrogen Tetroxide)", "H2O2 (Hydrogen Peroxide) 95%", "H2O2 (Hydrogen Peroxide) 85%" -> {
  852.                                 String[] fuel_List12 = {"H2 (Hydrogen)", "C2H5OH(Ethanol) 85%", "C2H5OH(Ethanol) 75%",
  853.                                         "C6H5NH2 (Aniline)", "75% CH6N2 + 25% N2H4 (UH-25)", "50% CH6N2 + 50% N2H4 (Aerosine-50)",
  854.                                         "C2H8N2 (UnsymetricalDimethylHydrazine)", "CH6N2 (MonomethylHydrazine)", "N2H4 (Hydrazine)",
  855.                                         "CH3OH (Methanol)", "C12H24 (Kerosene)", "C2H6 (Ethane)"};
  856.                                 Collections.shuffle(Arrays.asList(fuel_List12));
  857.                                 Random fuelChosen = new Random();
  858.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List12.length);
  859.                                 fuel_Chosen = fuel_List12[fuelChosen_index];
  860.                             }
  861.                             case "N2H4 (Hydrazine)" -> {
  862.                                 String[] fuel_List13 = {"B2H6 (Diborane)", "B5H9 (Pentaborane)"};
  863.                                 Collections.shuffle(Arrays.asList(fuel_List13));
  864.                                 Random fuelChosen = new Random();
  865.                                 int fuelChosen_index = fuelChosen.nextInt(fuel_List13.length);
  866.                                 fuel_Chosen = fuel_List13[fuelChosen_index];
  867.                             }
  868.                         }
  869.  
  870.                         Collections.shuffle(Arrays.asList(tank_Repressurisation));
  871.                         Random tankRepressurisationChosen = new Random();
  872.                         int tankRepressurisationChosen_index = tankRepressurisationChosen.nextInt(tank_Repressurisation.length);
  873.                         String tank_Repressurisation_Chosen = tank_Repressurisation[tankRepressurisationChosen_index];
  874.  
  875.                         Collections.shuffle(Arrays.asList(altitude_Of_Operation));
  876.                         Random altitudeOfOperationChosen = new Random();
  877.                         int altitudeOfOperationChosen_index = altitudeOfOperationChosen.nextInt(altitude_Of_Operation.length);
  878.                         String altitude_Of_Operation_Chosen = altitude_Of_Operation[altitudeOfOperationChosen_index];
  879.  
  880.                         String nozzle_Type_Chosen = null;
  881.                         switch (altitude_Of_Operation_Chosen) {
  882.                             case "0-10 km (Sea Level)" -> {
  883.                                 String[] nozzle_Type_List_SL = {"Converging Diverging Cone (Without Nozzle Extension)",
  884.                                         "Converging Diverging Bell (Without Nozzle Extension)"};
  885.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_SL));
  886.                                 Random nozzleTypeSLspikeChosen = new Random();
  887.                                 int nozzleTypeSLspikeChosen_index = nozzleTypeSLspikeChosen.nextInt(nozzle_Type_List_SL.length);
  888.                                 nozzle_Type_Chosen = nozzle_Type_List_SL[nozzleTypeSLspikeChosen_index];
  889.                             }
  890.                             case "20-30 km (Medium Atmosphere)", "30-80 km (High Atmosphere)", "80 km+ (Vacuum)" -> {
  891.                                 String[] nozzle_Type_List_HAE = {"Converging Diverging Cone (With Nozzle Extension)",
  892.                                         "Converging Diverging Bell (With Nozzle Extension)"};
  893.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_HAE));
  894.                                 Random nozzleTypeHAEspikeChosen = new Random();
  895.                                 int nozzleTypeHAEspikeChosen_index = nozzleTypeHAEspikeChosen.nextInt(nozzle_Type_List_HAE.length);
  896.                                 nozzle_Type_Chosen = nozzle_Type_List_HAE[nozzleTypeHAEspikeChosen_index];
  897.                             }
  898.                             case "Any Altitude (0-80 km+)" -> {
  899.                                 String[] nozzle_Type_List_Aero = {"Linear Aerospike", "Toroidal Aerospike"};
  900.                                 Collections.shuffle(Arrays.asList(nozzle_Type_List_Aero));
  901.                                 Random nozzleTypeAerospikeChosen = new Random();
  902.                                 int nozzleTypeAerospikeChosen_index = nozzleTypeAerospikeChosen.nextInt(nozzle_Type_List_Aero.length);
  903.                                 nozzle_Type_Chosen = nozzle_Type_List_Aero[nozzleTypeAerospikeChosen_index];
  904.                             }
  905.                         }
  906.  
  907.                         System.out.println(lbrk);
  908.                         System.out.println("Your Engine is called: " + engine_Name);
  909.                         System.out.println(" ");
  910.                         System.out.println("Your Engine Cycle is: " + engine_Cycle_Chosen);
  911.                         System.out.println("Your Oxidiser is: " + oxidiser_Chosen);
  912.                         System.out.println("Your Fuel is: " + fuel_Chosen);
  913.                         System.out.println("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  914.                         System.out.println("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  915.                         System.out.println("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  916.                         System.out.println(" ");
  917.                         try {
  918.                             if (new File("C:\\Users\\sfsga\\IdeaProjects\\demo\\ofb_reg.xml").exists()) {
  919.                                 try {
  920.                                     FileWriter fwriteFinal = new FileWriter("obf_reg.xml", true);
  921.                                     fwriteFinal.write(lbrk);
  922.                                     fwriteFinal.write("\n");
  923.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  924.                                     fwriteFinal.write("\n");
  925.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  926.                                     fwriteFinal.write("\n");
  927.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  928.                                     fwriteFinal.write("\n");
  929.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  930.                                     fwriteFinal.write("\n");
  931.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  932.                                     fwriteFinal.write("\n");
  933.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  934.                                     fwriteFinal.write("\n");
  935.                                     fwriteFinal.write("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  936.                                     fwriteFinal.write("\n");
  937.                                     fwriteFinal.close();
  938.                                     System.out.println("Successfully wrote to the file.");
  939.                                 } catch (Exception e) {
  940.                                     e.printStackTrace();
  941.                                 }
  942.                             }
  943.                             else {
  944.                                 try {
  945.                                     FileWriter fwrite = new FileWriter("obf_reg.xml", true);
  946.                                     BufferedWriter fwriteFinal = new BufferedWriter(fwrite);
  947.                                     fwriteFinal.write("\n");
  948.                                     fwriteFinal.write(lbrk);
  949.                                     fwriteFinal.write("\n");
  950.                                     fwriteFinal.write("Your Engine is called: " + engine_Name);
  951.                                     fwriteFinal.write("\n");
  952.                                     fwriteFinal.write("Your Engine Cycle is: " + engine_Cycle_Chosen);
  953.                                     fwriteFinal.write("\n");
  954.                                     fwriteFinal.write("Your Oxidiser is: " + oxidiser_Chosen);
  955.                                     fwriteFinal.write("\n");
  956.                                     fwriteFinal.write("Your Fuel is: " + fuel_Chosen);
  957.                                     fwriteFinal.write("\n");
  958.                                     fwriteFinal.write("Your Altitude of operation is: " + altitude_Of_Operation_Chosen);
  959.                                     fwriteFinal.write("\n");
  960.                                     fwriteFinal.write("Your engine's nozzle type should be : " + nozzle_Type_Chosen);
  961.                                     fwriteFinal.write("\n");
  962.                                     fwriteFinal.write("Tank repressurisation would be done " + tank_Repressurisation_Chosen);
  963.                                     fwriteFinal.write("\n");
  964.                                     fwriteFinal.close();
  965.                                     System.out.println("Successfully wrote to the file.");
  966.                                     System.out.println("File already exists.");
  967.                                 } catch (Exception e) {
  968.                                     e.printStackTrace();
  969.                                 }
  970.                             }
  971.                         } catch (Exception e) {
  972.                             e.printStackTrace();
  973.                         }
  974.                     }
  975.                 }
  976.             } else {
  977.                 while (!(repeatCommand.equalsIgnoreCase("Y") && repeatCommand.equalsIgnoreCase("N"))) {
  978.                     System.out.println("wrong input!");
  979.                     System.out.print("> ");
  980.                     repeatCommand = scanner.next();
  981.                     repeatCommand = repeatCommand.toUpperCase();
  982.                     if (repeatCommand.equals("Y") || repeatCommand.equals("N")) {
  983.                         break;
  984.                     }
  985.                 }
  986.             }
  987.         }
  988.     }
  989. }
Advertisement
Add Comment
Please, Sign In to add comment