2014-03-13 2 views
0

슈퍼마켓은 슈퍼마켓의 화면에 고객의 이름을 표시하여 매일 최고의 고객에게 보상을 제공하려고합니다. 이를 위해 고객의 구매 금액은 ArrayList에 저장되고 고객의 이름은 해당 ArrayList에 저장됩니다. 가장 큰 판매를 가진 고객의 이름을 반환하는 public static String nameOfBestCustomer (ArrayList sales, ArrayList customers) 메서드를 구현합니다. 계산원에게 모든 가격과 이름을 입력하고, 두 개의 배열 목록에 추가하고, 구현 한 방법을 호출하고 결과를 표시하도록하는 프로그램을 작성하십시오. 가격 0을 센티넬으로 사용하십시오.for 루프를 사용하여 ArrayList에 숫자 추가 - Java

지금까지 for 루프를 사용하여 키보드로 숫자/이름을 배열에 입력하는 데 문제가 있습니다. 이것은 내가 지금까지 가지고있는 것이다.

import java.util.Arrays; 
import java.util.ArrayList; 
import java.util.Scanner; 

public class TopCustomer { 

    public static String nameOfBestCustomer(ArrayList<Double> sales, ArrayList<String> customers) { 

} 

public static void main (String [] args){ 
    ArrayList<Double> sales = new ArrayList<Double>(); 
    ArrayList<String> customer = new ArrayList<String>(); 
    Scanner in = new Scanner(System.in);   
    System.out.print("How many Customers are there?"); 
    int num = in.nextInt(); 

    for (int i = 1; num <= i; i++) { 
     System.out.print("Enter name of customer " + i + ": \n"); 
     customer.add(i) = in.nextString(); 
     System.out.print("Enter how much customer " + i + ": \n"); 
     sales.add(i) = in.nextDouble(); 
    } 
} 

}

+1

'customer.add (in.nextString());'을 사용하십시오. – Braj

+0

계속 오류가 발생합니다. 기호를 찾을 수 없습니다. customer.add (in.nextString()); – Sjanes227

답변

2

여기에이 오류가 난

아래를 수정 한 단 1 고객 및가없는 한3210
for (int i = 0; i < num; i++){ 
    System.out.print("Enter name of customer " + (i+1) + ": \n"); 
    customer.add(in.next()); 
    System.out.print("Enter how much customer " + (i+1) + ": \n"); 
    sales.add(in.nextDouble()); 
} 

먼저 루프 내가 그렇지 않으면 항상 즉시 종료 된 becuase 제시 한 방법을 포맷해야합니다 또한 당신이 자동으로 사용했던 .add() 방법은 배열 목록의 끝에 내부에 무엇을 추가 .

+0

도움을 주셔서 감사합니다! 여전히 오류가 발생합니다. 기호를 찾을 수 없습니다. customer.add (in.nextString()); – Sjanes227

+0

sry, 해당 라인을 업데이트하고 업데이트를 사용해보십시오. – mig

2

귀하의 오류가 여기에 있습니다 : 사용자가 1보다 납입 큰 입력

for (int i = 1; num <= i; i++) { 

경우,이 루프는 즉시 종료됩니다. 원한다면 :

for (int i = 1; i <= num; i++) { 

또한 데이터를 잘못 입력하고 있습니다. 대신이의 :

customer.add(i) = in.nextString(); 

sales.add(i) = in.nextDouble(); 

수행

customer.add(in.nextString()) 

sales.add(in.nextDouble()); 
관련 문제