2017-04-27 11 views
0
import java.util.Scanner; 

public class Main { 

public static void main (String[]args) { 
    Scanner input = new Scanner(System.in); 
    int n, money; 
    String prodName = null; 
    String minProdName = null; 
    double price = 0.0; 
    double total = 0.0; 
    double min = 3000.0; 

    System.out.println ("How much money do you have?"); 
    money = input.nextInt(); 

    System.out.println ("Please, insert the items in the invoice (the name of the product and its price) or enter stop to finish billing "); 
    prodName = input.next(); 

    while (!(prodName.equals("stop"))) 
    { 
     price = input.nextDouble(); 
     prodName = input.next(); 
     total = total +price; 
    if (price<min && !(prodName.equals("stop"))) 
     { 
      min = price; 
      minProdName = prodName; 
     } 

    } 
    if (total<money) 
      System.out.println("You have enough money"); 
      System.out.println(); 

System.out.printf(" %s is the item with the minimum price(which is KD %.3f)", min); 

} 
} 

私はいつも「最低価格」の製品名の出力として「停止」しています。この問題をどうやって解決するのですか?次のコードに期待される出力が得られません:

予想される出力:
Expected Output

マイ出力:
My Output

+0

@Jensにこの行を変更:/ –

+2

Madhurya、あなたの出力は、コードが一致しません。どういうわけか、ここに示したコードとは異なるコードを実行しています。私はあなたのディレクトリを構築し、すべてを再コンパイルする必要がありますと思う。 –

答えて

3
System.out.printf(" %s is the item with the minimum price(which is KD %.3f)", min); 

ここでは、印刷された取得する唯一つの値を渡しています。ここでは2つの値を渡す必要があります。最初はString、次はDoubleです。

だから、それはまだ私の出力として「停止」を与え動作しません

System.out.printf(" %s is the item with the minimum price(which is KD %.3f)", minProdName, min); 
+1

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

関連する問題