0

ユーザーがいくつかの値を入力できるようにするプログラムを作成します。プログラムは、ポンド(GBP)で入力された値をいくつかの異なる通貨に変換する必要があります。メニューは次のようになります。

  1. 値を入力し、-1と入力して停止します
  2. ユーロ
  3. ドル
  4. ルピー
  5. 出口

2、3、4、または5を選択すると、プログラムは、元のポンドと変換された通貨の両方で入力された各値を、すべての数値の合計と変換された合計とともに表示する必要があります。

public class Money {
    public static void main(String[] args) {
        System.out.println("Enter values and type -1 to stop"); 
        System.out.println("'1' = Euros"); 
        System.out.println("'2' = Dollars"); 
        System.out.println("'3' = Yen"); 
        System.out.println("'4' = Rupees"); 
        System.out.println("'5' = Exit"); 

        int count=0;
        String exit = "-1", euro="E";

        Scanner scan = new Scanner(System.in);

        System.out.println();
        System.out.print("Convert to: ");

        while (!scan.hasNext("[E, D, Y, R, X]+")) {
            System.out.print("Invalid value, enter Surname again: ");
            scan.next();
        }

        String exTo = scan.next();

        ArrayList<String> num = new ArrayList<String>();

        while (true) {
            count++;
            System.out.print("|| Enter values "+count+" in (P)Pounds : ");

            while (!scan.hasNextDouble()) {
                System.out.print("Invalid value, try again: ");
                scan.next();
            }
            num.add(scan.next());

            if(num.contains(exit)){
                String ar[]=num.toArray(new String[num.size()]);
                ar=num.toArray(ar);

                System.out.println("Result: "+ num);

                scan.close();
                break;
            }
        }
    }
}
4

2 に答える 2

0

これを試して :

import java.util.*;
class Money {
    public static void main(String[] args) {
        System.out.println("Enter values and type -1 to stop"); 
        System.out.println("'1' = Euros"); 
        System.out.println("'2' = Dollars"); 
        System.out.println("'3' = Yen"); 
        System.out.println("'4' = Rupees"); 
        System.out.println("'5' = Exit"); 
    int count=0;
    String exit = "-1", euro="E";

    Scanner scan = new Scanner(System.in);

    System.out.println();
    System.out.print("Convert to: ");

    while (!scan.hasNext("[E, D, Y, R, X]+")) {
        System.out.print("Invalid value, enter Surname again: ");
        scan.next();
    }

    String exTo = scan.next();

    ArrayList<String> num = new ArrayList<String>();

    while (true) {
        count++;
        System.out.print("|| Enter values "+count+" in (P)Pounds : ");

        while (!scan.hasNextDouble()) {
            System.out.print("Invalid value, try again: ");
            scan.next();
        }
        num.add(scan.next());

        if(num.contains(exit)){
            for(int i=0;i<num.size();i++){
            num.set(i,Integer.toString((Integer.parseInt(num.get(i))*2)));
            }
            System.out.println("Result: "+ num);

            scan.close();
            break;
        }
    }
}
}

最後の入力を削除する (-1)

印刷する前にこの行を追加してくださいnum.remove("-1");

于 2013-02-03T12:49:29.293 に答える
0

User type in numbers inside array list array のような配列リスト内の各数値を乗算する方法は次のようになります: [ 20, 30, 40 ] そして、各数値のような結果表示が、たとえば 2 [ 40, 60, 80 ] で乗算される必要があります。 ]

リストをループして計算してみませんか?

for (Integer i : yourList)
  i *= 2;

Lists.transform(list, func)または、より複雑な計算を行いたい場合は、グアバを試すことができます。

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Lists.html#transform(java.util.List , com.google.common.base.Function)

于 2013-02-03T12:50:12.407 に答える