• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:このようなプログラムを教えて下さい)

コマンドプロンプト上の標準入力で文字列と数値を比較して表示するプログラム

このQ&Aのポイント
  • プログラムを作成する際には、コマンドプロンプト上での標準入力を扱う方法を学ぶ必要があります。
  • 入力された文字列と数値を、1つのクラスのフィールドとして定義することでデータを管理することができます。
  • 入力されたデータを比較し、その結果を大きい順に表示するために、適切なデータ構造やソートアルゴリズムを使用する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • Harry_
  • ベストアンサー率55% (36/65)
回答No.1

長いですけど、作ってみました。 コメントも何もつけてないですが、わからないところがあったら質問してください。 // Personクラス public class Person implements Comparable {   private String name;   private int age;   public Person(String name, int age) {     this.name = name;     this.age = age;   }   public String getName() {     return name;   }   public int getAge() {     return age;   }   public int compareTo(Object obj) {     Person other = (Person)obj;     return other.age - this.age;   }   public String toString() {     return "NAME : " + name + "\t\tAGE : " + age;   } } // ここからメインのクラス import java.io.*; import java.util.*; public class InputPerson {   public static void main(String[] args) throws Exception {     BufferedReader reader =       new BufferedReader(new InputStreamReader(System.in));     List people = new ArrayList();     while (true) {       System.out.print("NAME : ");       String name = reader.readLine();       if (name.equals("")) {         break;       }       int age = 0;       do {         System.out.print("AGE : ");       } while ((age = toDigit(reader.readLine())) < 0);       people.add(new Person(name, age));     }     System.out.println("");     show(people);   }   private static void show(List people) {     Collections.sort(people);     for (Iterator itr = people.iterator(); itr.hasNext(); ) {       System.out.println(itr.next());     }   }   private static int toDigit(String str) {     int result = 0;     try {       result = Integer.parseInt(str);     }     catch (Exception ex) {       result = -1;     }     return result;   } }

関連するQ&A

専門家に質問してみよう