这是我的代码。我不确定如何使用返回值退出程序。有任何想法吗?这是我完成任务的最后一步。重要区域标有////////我听到了返回的消息,但是当我将main中的void更改为int时,程序会说main必须为void。
import java.util.Scanner;
public class CommissionCalculator {
public static void main(String args[]) {
// Initialize a Scanner to read input from the command line
Scanner ItemSelect = new Scanner(System.in);
double comp = 200.00;
double item1 = 239.99;
double item2 = 129.75;
double item3 = 99.95;
double item4 = 350.89;
double comm = 0.09;
int choice;
/* Note that we'll be doing this at least once and most likely multiple times...
* Prompt the user with a menu of the four items and their values (this information is included in the problem statement)
*/
System.out.println("Item\tValue");
System.out.println("1\t$239.99");
System.out.println("2\t$129.75");
System.out.println("3\t$99.95");
System.out.println("4\t$350.89");
/* Display the user's current compensation */
System.out.printf("Current compensation: $%.2f", comp);
/*
* Prompt and take input from the user (you may assume that they will only enter int values)
* They'll enter an item number (1 - 4) to record its sale or 0 to exit
*
* NOTE: THE U0SER DOES NOT ENTER PRICES DIRECTLY... THEY ENTER ITEM NUMBERS TO INDICATE WHAT WAS SOLD
* NOTE: THE USER MAY ENTER THE SAME ITEM NUMBRER MULTIPLE TIMES
*
* If the user provides invalid input (a value other than 0 - 4) display "ERROR: Invalid input!" and prompt them again
*/
do
{
System.out.print("\nPlease select an item from the " +
"list above (or enter 0 to exit): ");
choice = ItemSelect.nextInt();
{
if (choice != 1 && choice != 2 && choice != 3 && choice != 4 && choice != 0)
{
do
{
System.out.print("ERROR: Invalid Input!\n");
System.out.println("Item\tValue");
System.out.println("1\t$239.99");
System.out.println("2\t$129.75");
System.out.println("3\t$99.95");
System.out.println("4\t$350.89");
System.out.printf("Current compensation: $%.2f", comp);
System.out.print("\nPlease select an item from the " +
"list above (or enter 0 to exit): ");
choice = ItemSelect.nextInt();
if (choice == 1)
{
comp += (comm * item1);
System.out.printf("Current compensation: $%.2f", comp);
}
if (choice == 2)
{
comp += (comm * item2);
System.out.printf("Current compensation: $%.2f", comp);
}
if (choice == 3)
{
comp += (comm * item3);
System.out.printf("Current compensation: $%.2f", comp);
}
if (choice == 4)
{
comp += (comm * item4);
System.out.printf("Current compensation: $%.2f", comp);
}
if (choice == 0)
{
System.out.printf("Total Earnings: $%.2f", comp);
System.exit(0); ///////
}
}while (choice != 1 && choice != 2 && choice != 3 && choice != 4 && choice != 0);
}
else
{
if (choice == 1)
{
comp += (comm * item1);
System.out.printf("Current compensation: $%.2f", comp);
}
if (choice == 2)
{
comp += (comm * item2);
System.out.printf("Current compensation: $%.2f", comp);
}
if (choice == 3)
{
comp += (comm * item3);
System.out.printf("Current compensation: $%.2f", comp);
}
if (choice == 4)
{
comp += (comm * item4);
System.out.printf("Current compensation: $%.2f", comp);
}
if (choice == 0)
{
System.out.printf("Total Earnings: $%.2f", comp);
System.exit(0);
}
}
}
}while (choice != 0);
/* After the user enters 0, display the salesperson's earnings in the format "Total earnings: $NNN.NN" and exit
* For example, if the salesperson sold two item 3s this week the final output would be "Total earnings: $217.99"
*/
if (choice == 0)
{
System.out.printf("Total Earnings: $%.2f", comp);
System.exit(0); ///////
}
ItemSelect.close();
System.exit(0); ///////
}
}
只要您不需要返回自定义退出代码(由所返回的0 System.exit(0)
除外)并且不启动新线程,就可以通过执行以下操作来终止程序
return;
用你的main()
方法。请注意,没有返回任何值,因此您无需将main()
方法从更改void
为int
。
问题内容: 用代码退出Java应用程序的最佳方法是什么? 问题答案: 您可以用于此目的。 根据oracle的Java 8文档: 终止当前正在运行的Java虚拟机。参数用作状态码;按照惯例, 非零状态代码表示异常终止 。 此方法在类Runtime中调用exit方法。此方法永远不会正常返回。 该调用实际上等效于该调用:
我不熟悉java和javafx,我创建了javafx媒体播放器,它写得很好,但我尝试使用用户输入来控制暂停和播放功能,例如,如果用户输入1应该执行暂停功能和视频暂停。当我运行代码时,实际上什么都没有发生,应用程序一直在加载。可能吗?任何帮助都将受到感谢。
问题内容: 我有一个非常简单的问题,但是我没有使用Mysql从SP退出任何简单的代码。谁能和我分享该怎么做? 问题答案:
我正在尝试编写一个程序,允许在无限循环中生成随机数。如果用户按下'c',它将脱离循环。但是循环只在我按下c时开始,它应该在之前开始,当我按下'c'时它应该停止。 另外,我想知道如何才能只使用while循环而不是do-while循环来完成这个程序。当我使用while时,我从开始,然后使用来自input的if语句中断循环,但这也不起作用。内部仍然有两个for循环。 多谢
问题内容: (这是我的同事在其他地方发布的一个问题,但我认为我应该在这里发布,以查看是否可以吸引其他受众。) 大家好,我正在测试编写一个小型Java应用程序的可能性,该应用程序将使用Psexec启动远程作业。在测试将Java程序的stdin和stdout绑定到psexec的过程中,我遇到了一个奇怪的错误。 我的测试程序是一个基本的回声程序。它启动一个从stdin读取的线程,然后将读取的输出直接通过
我需要写一个代码:一个素数是一个大于1的正整数,它只能被它自己和1整除。您要编写一个程序,反复向用户询问一个整数值,然后显示小于或等于该数字的所有质数。 功能需求 我的代码是: 有人能帮我找出我做错了什么吗?