【问题标题】:Program that asks user how many times it wants to loop for (java)询问用户想要循环多少次的程序(java)
【发布时间】:2017-03-29 02:27:28
【问题描述】:

// 在 Eclipse 中创建一个完整的程序,它会询问用户您希望循环多长时间。它将在 for 循环中询问双精度值的速率和整数值的时间。它将计算您在费率和时间中输入的每个时间的距离。//

如果我只想输入一次,我当前的输出给了我正确的答案,因为它只需要运行一次程序。每当我输入超过 1 时,它就会开始表现得很奇怪,这是我能解释它的最佳方式,因为我不知道它有什么问题。

这是一个随机输出

How many times would you like to calculate the distance.
12
Enter rate
2
Enter time
13
The distance is 26.0
Enter rate
12
Enter time
12
The distance is 144.0
How many times would you like to calculate the distance.
1
Enter rate
12
Enter time
1
The distance is 12.0

//我的实际代码

import java.util.Scanner;

 public class NTC {
 public static void main(String[] args){

Scanner kb=new Scanner(System.in);
    int loop = 10;
    double rate=0;
    int time=0;
    int count;
    double distance = rate*time;

 for (count = 0; count <= loop; count++) {

 System.out.println("How many times would you like to calculate the distance.");
 loop = kb.nextInt(); 


for(rate=0; rate <loop;rate++)
{
System.out.println("Enter rate");
rate = kb.nextDouble();

for(time=0; time <loop;time++)
{
     System.out.println("Enter time");
    time = kb.nextInt();
 System.out.println("The distance is "+rate*time);

}

【问题讨论】:

  • It starts acting weird ... 这是您开始调试的地方。打印变量或使用实际的调试器。您是否去看医生并说“我不知道医生 - 我只是觉得很奇怪。给我一些药物来解决它。谢谢”。
  • 听起来问题只是要求rate * time = distance。为什么还有 2 个从 0 &lt; loop 迭代的其他循环,其中 loop 设置为 10?
  • 你不必居高临下。这是我人生中第一次编写这样的代码,不过感谢您的指导。 @鬼猫
  • 问题是你的误解,假设这个网站是为新手准备的。但不是……不过你也说得对,我的话太刺耳了。
  • 公式不是被搞砸的部分,而是它之前的一切。我假设我必须一遍又一遍地做for循环,而我没有这样做。我也试图改变一些小东西,看看它是否会比以前的代码更好。我上传的代码是我决定在这里发布@Wilson 之前想出的最好的工作代码

标签: java eclipse for-loop


【解决方案1】:

你只需要一个for循环:

import java.util.Scanner;

public class NTC 
{

public static void main(String[] args)
{
Scanner kb=new Scanner(System.in);
int loop = 10;
double rate=0;
int time=0;
int count;
double distance = rate*time;
System.out.println("How many times would you like to calculate the distance.");
loop = kb.nextInt(); 
for (count = 0; count < loop; count++) 
{    
 System.out.println("Enter rate");
 rate = kb.nextDouble();
 System.out.println("Enter time");
 time = kb.nextInt();
 System.out.println("The distance is "+(rate*time));
}
}
}

【讨论】:

  • 非常感谢您对我的帮助。这是我第一次编程,也是我第一次自己做这样的任务。
  • 一旦你试用了我的代码,请务必支持我的答案。
  • 他的声望为 1,刚刚收集了 6 次反对票。他不能投票,只能接受。
  • 我试图给你投赞成票,因为就像他说的那样,我有 1 票和 6 票反对票的声誉,所以它不会公开显示。
  • 是这样吗?那好吧。没问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-21
  • 2020-04-03
  • 1970-01-01
  • 1970-01-01
  • 2022-08-23
  • 2021-04-06
相关资源
最近更新 更多