0

对 Java 来说很新,所以试图理解它可能很困难。

无论如何,问题是,作为任务的一部分,我必须编写一个剧院门票控制台应用程序。我几乎完成了我只是想添加最后一部分

作为任务的一部分,我们必须询问用户是否希望张贴门票,如果是,则会产生费用,该费用将应用于总费用。目前我不确定如何做到这一点。目前,我正在使用 If 和 else 语句和.. 那么你会在下面看到。

   System.out.println ("Do you require the tickets to be posted?\n(£2.34 for post and packing for the entire order)\n(please enter 'Yes' on the next line if you require postage)");
   String postinp = scanner.next();

           if ("Yes".equals(postinp)){
            System.out.println("Postage will be added to your cost" );
           }
            else
            System.out.println("Postage will not be added to your cost");

好吧,我正在尝试编码,如果用户输入“是”,那么它会将邮资费用添加到总数中,但是在这部分代码中,我不确定如何执行此操作。

任何帮助,将不胜感激。谢谢!

4

5 回答 5

2

if-statement我们需要做的就是将您的 2.34 英镑添加到程序计算的总金额中。

    public static void main(String args[]) {
       Scanner input = new Scanner(System.in);
       double total = 10.00;
       System.out.println("Do you require the tickets to be posted?\n(£2.34 for post and packing for the entire order)\n(please enter 'Yes' on the next line if you require postage)");

       if ("Yes".equalsIgnoreCase(input.next())) {
          System.out.println("Postage will be added to your cost");
          total = total + 2.34;
       } else
          System.out.println("Postage will not be added to your cost");
   }
于 2013-10-27T00:50:25.617 回答
0

使用scanner.nextLine()代替scanner.next();

并使用“是”而不是“是”

于 2013-10-27T00:45:51.893 回答
0

我要做的就是改变

if ("Ye".equals(postinp)) {

if ("yes".equals(postinp.toLowerCase())) {

这样它就不会对用户输入的内容区分大小写,因为否则他们必须Yes准确输入。

于 2013-10-27T00:49:05.490 回答
0

您可以在语句的then-else块中添加更多代码if

if ( "Yes".equals(postinp) ) 
{
    this.cost += 2.34 ; // or whatever it is you need to do

    System.out.println("Postage will be added to your cost" );
}
else 
{
    System.out.println("Postage will not be added to your cost");
}
于 2013-10-27T00:49:10.477 回答
0

你似乎需要解决两件事——评估答案,然后采取相应的行动。

尝试这个:

String postinp = scanner.next();
if ("Yes".equalsIgnoreCase(postinp)) {
   cost += postage;
   System.out.println("Postage will be added to your cost" );
}
else {
   System.out.println("Postage will not be added to your cost");
}

if块检查结果是否为某种形式的“是”而不考虑大小写。然后它假设costpostage变量(floats)是可用的并从某个地方初始化。在“是”的情况下,cost增加postage.

此外,由于您只是在学习,这没什么大不了的,但在某些时候,您可能希望将邮资视为从常量或配置文件中消耗的值。也许初始成本也可以。

于 2013-10-27T00:54:37.277 回答