2016-11-18 46 views
-2

我试图将其转换为字符,但我仍然遇到了一个问题,它不会正确构建,新手在这里。但任何帮助请做不会接受字符数组在这个测验

import java.util.Scanner; 

public class PizzaChoice { 

    public static void main(String[] args){ 
     //char sizes; 
     Scanner input = new Scanner(System.in); 
     final int NUMBER_OF_CHOICES = 4; 
     char[] pizzaSize = {'S', 'M', 'L', 'X'}; 
     double[] prices = {6.99, 8.99, 12.50, 15.00}; 
     char sizeChosen; 
     double pizzaPrice = 0.0; 
     boolean validChoice = false; 
     Scanner inputDevice = new Scanner(System.in); 
     System.out.print("Enter pizza size- S, M, L, or X: "); 
     sizeChosen = inputDevice.nextLine().charAt(0); 
     for(int s = 0; s < NUMBER_OF_CHOICES; ++s) 
     {  
      if(sizeChosen.equals(pizzaSize[s])) 
      { 
       validChoice = true; 
       pizzaPrice = prices[s]; 
      } 
     } 
     if(validChoice) 
      System.out.println("The price for chosen size " + 
        sizeChosen + " is $" + pizzaPrice); 
     else 
      System.out.println("Sorry - Invalid Choice Entered"); 

    } 

} 
+0

'char'是一个原始类型,你不能调用它的方法,使用'if(sizeChosen == pizzaSize [s])'。 – Berger

+0

谢谢!这有助于:) –

回答

0

替换字符的pizzaSize和sizeChosen字符,它会工作。见"Char cannot be dereferenced" error

+0

谢谢你也!! :) –

+0

@DannyBlack你不应该这样做。帕特里克只是开了个玩笑,我希望。避免不必要的拳击,并正确比较你的'char'(伯杰告诉你如何做到这一点)。 – Tom

+0

我真的不明白为什么你不应该这样做。它像一个魅力。但我不是专家,只是想帮忙,所以请解释这个解决方案有什么问题。 –

相关问题