import java.util.Scanner;
public class DonutSign {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//initiate all variables
boolean ans = false;
double r = 0;
double sideA = 0;
double sideB = 0;
double angle = 0;
String text = "INTIAL";
double circleArea = 0;
double parArea = 0;
double finalArea = 0;
double sizePrice = 0;
double textPrice = 0;
double finalPrice = 0;
String response = "quit";
//do-while price calculation
do{
//have all of the variables entered
System.out.println("Enter the radius of the circles:");
r = input.nextDouble();
System.out.println("Enter the first side of the parallelogram:");
sideA = input.nextDouble();
System.out.println("Enter the second side of the parallelogram:");
sideB = input.nextDouble();
System.out.println("Enter the angle of the parallelogram:");
angle = input.nextDouble();
System.out.println("Enter the string you would like on your sign:");
text = input.next();
//calculate area of the circles
circleArea = Math.PI * Math.pow(r, 2);
//calculate area of parallelogram
parArea = sideA * sideB * (Math.sin(Math.toRadians(angle)));
//add surface area values together and calculate price
finalArea = circleArea + parArea;
sizePrice = finalArea * 2.95;
//calculate price of text and add values
textPrice = ((text.length() + 1) * 1.45);
finalPrice = textPrice + sizePrice;
System.out.print("$");
System.out.printf("%.2f", finalPrice);
System.out.println();
//If-else to exit the loop
System.out.println("Would you like to create another sign? Enter quit to exit.");
response = input.nextLine();
if(response == "quit"){
ans = true;
}
else{
ans = false;
}
} while (ans != true);
}
}
这里有一个很好的答案:
Java扫描器不等待用户输入
问题是nextInt()不使用'\n',所以下一次调用nextLine()会使用它,然后它会等待读取Y的输入。
下面的代码循环了两次。第一个while循环要求用户输入(以做出选择)。我把选择默认值设置为“n”,使它变得更简单。 因此,它命中if语句并开始第2个while循环。现在它要求用户进行另一个选择。用户只能输入“a”,因为其他任何东西都会出现错误陷阱。用户输入“a”并得到添加一个数字的提示(变量num=0)。用户输入一个数字。 使用更多信息更新的代码 我已经尝试使用不同的变量进行选择。它不起作用。我想
我正在尝试编写一个程序,允许在无限循环中生成随机数。如果用户按下'c',它将脱离循环。但是循环只在我按下c时开始,它应该在之前开始,当我按下'c'时它应该停止。 另外,我想知道如何才能只使用while循环而不是do-while循环来完成这个程序。当我使用while时,我从开始,然后使用来自input的if语句中断循环,但这也不起作用。内部仍然有两个for循环。 多谢
需要一些专家的建议。首先,这里是我的代码: 我的问题是:当我输入一个用户号码如“3”时,提示我的代码只打印一个__当我希望它打印指定的号码。我无论如何也想不出来。 我是英语专业的,所以这不是我的强项:(形状应该是菱形的。)
我试图创建一个简短的基于文本的冒险游戏使用Java。 我是一个初学的程序员,所以我的方法可能不是最有效的,但我只使用了我从学校课程中学到的东西。 为什么会出现这个问题?我不知道我做错了什么。 谢了!
我正在设置一个,它在用户输入整数之前一直执行。但是,按照我现在的方式,循环在输入整数后再次打印消息,然后程序正常执行。有人能建议一种方法来使输入整数后不再打印该消息吗?谢了!
首先,感谢你阅读我的帖子并帮助我。 我试图编程,我定义了一个随机数,程序猜测这个随机数,然后,根据我说猜测太高或太低,程序再次猜测。 再次感谢!