2013-02-25 2 views
0

프로그램을 작성하려고하는데 나머지 코드가 작동하지만 호환되지 않는 유형이 나타납니다 : double required : 38 행의 식료품 점. 이 오류가 발생하여이를 수정하는 방법은 무엇입니까? 고맙습니다. "groceryArr는 [의 numItems] = 번호;"호환되지 않는 유형이 발견되었습니다 : double

import java.util.Scanner; 

public class GroceryList { 

    private GroceryItem[]groceryArr; //ARRAY HOLDS GROCERY ITEM OBJECTS 
    private int numItems; 
    private String date; 
    private String storeName; 
    public GroceryList(String inputDate, String inputName) { 

//FILL IN CODE HERE 
// CREATE ARRAY, INITIALIZE FIELDS 
    groceryArr = new GroceryItem[10]; 
    numItems = 0; 

    } 

    public void load() { 

    Scanner keyboard = new Scanner(System.in); 
     double sum = 0; 
     System.out.println ("Enter the trip date and then hit return:"); 
    date = keyboard.next(); 
    keyboard.nextLine(); 
    System.out.println("Enter the store name and then hit return:"); 
    storeName = keyboard.next(); 
    keyboard.nextLine(); 
    double number = keyboard.nextDouble(); 

    //NEED TO PROMPT USER FOR, AND READ IN THE DATE AND STORE NAME. 


    System.out.println("Enter each item bought and the price (then return)."); 
    System.out.println("Terminate with an item with a negative price."); 
    number = keyboard.nextDouble(); 

    while (number >= 0 && numItems < groceryArr.length) { 
     groceryArr[numItems] = number; 
     numItems++; 
     sum += number; 
     System.out.println("Enter each item bought and the price (then return)."); 
     System.out.println("Terminate with an item with a negative price."); 
     number = keyboard.nextDouble(); 
    } 


    /* 
    //READ IN AND STORE EACH ITEM. STORE NUMBER OF ITEMS 
    } 

    private GroceryItem computeTotalCost() { 
    //add code here 
    } 

    public void print() { 
    \\call computeTOtalCost 
    } 
    */ 
} 
} 
+0

글쎄,이 줄에 있다면 groceryArr [numItems] = number; 식료품 항목이 두 배가 아니기 때문에 여기에서 말할 수 없습니다. grceryArr [numItems] .Price = number;이어야합니다. 어쨌든 그런 것 같아. –

답변

0

: 여기 내 코드입니다

groceryArr [의 numItems]는 GroceryItem()의 인스턴스 - '수'는이

더블 당신은 '수'값을 저장() 객체 당신의 GroceryItem에 이중 변수가 필요합니다.

+0

대신 groceryItem을 double로 변경했습니다. 그것을 컴파일했다. 그러나 그것을 실행할 때 String []을 받아들이는 정적 void main 메서드를 가지고 있지 않습니다. 하지만 제가 추가 할 때 그것은 사적인 것으로 시작하는 모든 라인이 불법적 인 표현의 시작이라고합니다. 정적 void line은 어디에 두어야합니까? – user2085224

+0

새 코드를 보지 않고서는 어딘가에 '}'가 누락되어 있거나 너무 많은 코드가있을 수 있습니다. 또한 'public static void main'메소드를 잘못된 위치에 두지 않았는지 확인하십시오. '}'위의 클래스입니다. – kbbucks

+0

사실 이제 다시 한번 보니 수업 마지막에 너무 많은 '}'이 있습니다. 위의 마지막 것을 제거하십시오. – kbbucks

관련 문제