前提
ここに質問の内容を詳しく書いてください。
(例)
visual stdioで車を検索するシステムを作成したのですが、それをホームページまたはhtmlで実行できるようにしたいのですがどのようにすればいいのかがわかりません。
ちなみにjavaを使って書き、そのコードは下にあるソースコードの欄に載せておきます。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
-作成したコードをホームページまたはhtmlで実行できるようにしたい。
発生している問題・エラーメッセージ
該当のソースコード
import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.*; import java.util.function.Predicate; public class CarDealer { public static void main(String[] args) { CarDealer dealer = null; try { dealer = new CarDealer("car_data.csv"); //args[0] } catch(IOException e) { System.out.println("読み込みに失敗しました"); System.out.println("プログラムを終了します"); e.printStackTrace(); return; } try(Scanner sc = new Scanner(System.in)) { while(true) { System.out.println("/MENU/"); System.out.println("「0」車一覧「1」検索「2」終了 "); int a = Integer.parseInt(sc.nextLine()); if(a == 0) { dealer.printList(); } else if(a == 1) { System.out.println("検索の仕方を選択してください"); System.out.println("「0」車種名「1」値段「2」オプション"); int b = Integer.parseInt(sc.nextLine()); if(b == 0) { System.out.println("車種名を入力してください"); String name = sc.nextLine(); dealer.search(name); } else if(b == 1) { System.out.println("上限金額を入力してください"); int price_max = Integer.parseInt(sc.nextLine()); System.out.println("下限金額を入力してください"); int price_min = Integer.parseInt(sc.nextLine()); dealer.search(price_max, price_min); } else if(b == 2) { System.out.println("欲しいオプションを一つ選んでください"); StringBuilder sb = new StringBuilder(); for(int i=0; i<Car.Option.values().length; i++) { sb.append("「").append(i).append("」").append(Car.Option.values()[i].name); } System.out.println(sb.toString()); int i = Integer.parseInt(sc.nextLine()); dealer.search(Car.Option.values()[i]); } } else if(a == 2) { break; } else if(a > 2){ System.out.println("エラー*(以下の数字を入力してください)"); System.out.println("「0」車種名「1」値段「2」オプション"); } } System.out.println("ありがとうございました"); } } static class Car { enum Option { KEY("キーレス"), SMART("スマートキー"), POWER("パワーウィンドウ"), SHEET("ベンチシート"), HEATER("シートヒーター"), COOLER("シートクーラー"), LEATHER("本革シート"), OTTOMAN("OTTOMAN"), THREE("3列シート"), MONITOR("後席モニター"); final String name; Option(String name) { this.name = name; } } final String name; final int price; final Set<Option> options; Car(String name, int price, Set<Option> options) { this.name = name; this.price = price; this.options = Set.copyOf(options); } void print() { System.out.println("名前: " + name); System.out.println("値段: " + String.format("%,d円", price)); System.out.print("オプション: "); StringJoiner sj = new StringJoiner(","); sj.setEmptyValue("(無し)"); for(Car.Option option : options) sj.add(option.name); System.out.println(sj.toString()); } } private List<Car> carList = new ArrayList<>(); CarDealer(String filename) throws IOException { List<String> lines = Files.readAllLines(Paths.get(filename), StandardCharsets.UTF_8); for(String line : lines) carList.add(parseCSV(line)); } private Car parseCSV(String line) throws NumberFormatException { String[] tokens = line.split(","); String name = tokens[0]; int price = Integer.parseInt(tokens[1]); Set<Car.Option> options = EnumSet.noneOf(Car.Option.class); for(int i=0; i<Car.Option.values().length; i++) { if(Integer.parseInt(tokens[2+i]) == 1) options.add(Car.Option.values()[i]); } return new Car(name, price, options); } void printList() { System.out.println("車一覧"); for(Car car : carList) System.out.println(car.name); } void search(String name){ searchAndPrint(car -> car.name.equals(name)); } void search(int max, int min){ searchAndPrint(car -> min <= car.price && car.price <= max); } void search(Car.Option option){ searchAndPrint(car -> car.options.contains(option)); } private void searchAndPrint(Predicate<Car> predicater) { boolean found = false; for(Car car : carList) { if(predicater.test(car)) { car.print(); found = true; } } if(!found) { System.out.println("該当する車種は存在しません"); } } }
試したこと
補足情報(FW/ツールのバージョンなど)
