2013-02-03 2 views
0

사용자가 여러 값을 입력 할 수있는 프로그램을 작성하면 프로그램은 파운드 (GBP)로 입력 된 값을 여러 통화로 변환해야합니다. 메뉴는 다음과 같이 보일 것이다 :arraylist 안에 각 숫자를 곱하십시오.

  1. 유로
  2. 달러
  3. 루피
  4. 종료를 중지 가치와 유형을 -1 입력

때 2 , 3, 4 또는 5가 선택되면 프로그램은 원래 파운드와 공동으로 입력 된 각 값을 표시해야합니다 모든 숫자와 변환 된 총계의 합계와 함께 nverted 통화.

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; 
      } 
     } 
    } 
} 
+2

. ? 어레이 배열에서 내부 숫자 사용자 타입과 같은 배열에서 내부 각 숫자를 곱하는 방법 – Arpit

+0

은 다음과 같다 : I는 각 번호와 같은 결과를 디스플레이 (2)에 의해, 예를 들면 승산 것이 필요 [20, 30, 40] 후에 [40, 60, 80] –

+0

)))) 또는 사용자로부터 숫자를 수집하는 다른 방법으로 배열 내부에 저장하고 모든 숫자에 선택된 값을 곱한 숫자를 곱합니다. –

답변

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");

+0

사용자 (파운드) 번호를 입력 사용자의 ArrayList뿐만 유로에서 = 새로운 ArrayList를 ArrayList를 NUM 표시 선택(); 예를 들어, 유로화로 변환을 선택하고 arraylist의 각 값을 유로 비율 (예 : 0.94)로 곱하고 사용자 arraylist에게 표시하지만 유로화로 표시합니다. –

+0

문자열로 물어 보는 방법은 무엇입니까? 또한 0.676567과 같은 숫자를 수집해야하기 때문에 정수를 사용할 수 없습니다. –

+0

샘플 입력 ??에서 실제 질문에 코드, 배열에있는 모든 숫자를 수집하는 유일한 방법은 내가 투쟁하는 arraylist 2 곱하기, 항상 내가 할 때 오류가 있습니다 ... –

0

like 사용자 유형이 인 경우 배열 목록 배열의 번호는 [20, 30, 40] 및과 같습니다. 515,I는 각 번호와 같은 결과를 디스플레이함으로써 예컨대 곱하는 것을 필요 후에 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) 문제가 무엇

+0

사용자가 숫자를 입력하십시오 (파운드) ArrayList num = new ArrayList (); 예를 들어 유로화로 변환을 선택하고 arraylist 안의 각 값을 유로 비율 (예 : 0.94)로 곱하고 사용자 arraylist로 표시하지만 유로화로 표시합니다. –

관련 문제