2016-11-18 12 views
-2

私はそれをcharに変換しようとしましたが、ここでは初心者が正しく構築されないという問題が発生しています。しかし、どんな助けても構いません。このクイズで文字配列を受け付けません

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

CharacterをpizzaSizeとsizeChosenに置き換えると、それが機能します。 "Char cannot be dereferenced" error

+0

ありがとうございます! :) –

+0

@ダニーブラックあなたは本当にそれをすべきではありません。パトリックはちょうど冗談を言った、私は願っています。不必要なボクシングを避け、あなたの 'char'を正しく比較するだけです(Bergerはあなたにそれを行う方法を教えました)。 – Tom

+0

私はあなたがそれをしてはいけない理由は本当にわかりません。それは魅力のように働く。しかし、私は専門家ではなく、ただ助けようとしているので、その解決策が間違っていることを説明してください。 –

関連する問題