您如何打印变量?

时间:2019-01-21 19:57:32

标签: java variables

所以我正在使用这段代码,但是最终结果应该看起来像这样。

EX。 人数:4 披萨:1 费用:14.95美元

我的代码如下-

import java.util.*;

public class Pizza {

public static void main(String[] args) {
  Scanner keyboard = new Scanner(System.in);   
  int people = keyboard.nextInt();
  int pizza = people * 2 / 12 + 1;
  double cost = pizza * 14.95;

  System.out.println("People: "  + people +  "Pizzas: "  + pizza +  "Cost: $" + cost +  );
  }
}

int人员= keyboard.nextInt();这行代码允许我输入人的整数,然后程序将人* 2,然后除以12(表示比萨饼的片数)和+ 1,得到我需要的比萨饼。成本将是披萨号* 14.95。我希望在底部的System.out.println方法中显示人数,披萨和成本。我不知道我做错了什么? +人员+不应该显示该行中的人员吗?与+披萨+和+成本+相同吗?

4 个答案:

答案 0 :(得分:1)

+运算符连接字符串(以及其他转换为字符串的变量)。就像在数学中一样,您将其写在两个元素之间,因此最后的+是多余的(而且是错误的)。

System.out.println("People: " + people + " Pizzas: " + pizza + " Cost: $" + cost);

学习Java时,您可能想使用IDE,它会为您指出此错误,或者只是阅读编译器给您的错误。

答案 1 :(得分:0)

您不应该在打印语句的末尾加上最后一个+,因为后面没有任何内容。删除该代码后,您的代码似乎可以正常运行,尽管存在一点空格问题,您可以通过在print语句中添加空格来解决该问题。

12
People: 12Pizzas: 3Cost: $44.849999999999994

答案 2 :(得分:0)

System.out.println("People: "  + people +  "Pizzas: "  + pizza +  "Cost: $" + cost +  );

您在末尾加上了多余的+。删除它。

答案 3 :(得分:0)

str1 + str2这样的字符串连接是可以的,但是要注意正确打印double的值:您只需要两个小数位:

try (Scanner keyboard = new Scanner(System.in)) {
    int people = keyboard.nextInt();
    int pizza = people * 2 / 12 + 1;
    double cost = pizza * 14.95;
    System.out.printf(Locale.US, "People: %d, Pizzas: %d, Cost: $%.2f\n", people, pizza, cost);
}

输出:

10
People: 10, Pizzas: 2, Cost: $29.90