【发布时间】:2017-09-21 02:22:02
【问题描述】:
我刚开始学习 Java,我想克服在尝试为这个“问题”创建 Java 程序时出现的障碍。这是我必须为其创建程序的问题:
Tandy 喜欢分发糖果,但只有 n 颗糖果。对于她给第 i 个糖果的人,她给那个人 i 糖果。例如,她先给 Randy 1 颗糖果,然后给 Pandy 2 颗糖果,然后是 Sandy 3。给定 n,她可以给多少人糖果?
输入格式
第一行是一个整数 x,表示测试用例的数量。
接下来的 x 行将包含一个正整数 n。
样本输入
2
1
5
输出格式
x 行,每行包含一个整数,表示 Tandy 可以给多少人糖果。
样本输出
1
2
为了解决这个问题,我创建了一个程序,它运行良好,但与问题所要求的不匹配。 代码:
import java.util.Scanner;
public class PRB1CandyGame {
public static void main(String[] args)
{
Scanner cases = new Scanner(System.in);
int repeats = cases.nextInt();
while (repeats > 0)
{
int x = cases.nextInt();
int i = 1;
for(i = 1; x-i>=0; i++)
{
x = x-i;
}
System.out.println(i-1);
repeats--;
}
}
}
(如果代码混乱,请见谅!)
我的代码包含了“病例”的数量,然后这就是我可以输入多个糖果的次数,以获得它可以提供的人数。但是,我的程序获取糖果的数量,然后立即输出人数,而我希望它接受 all 输入(输入的数量基于用户输入的数字例),然后输出 all 值,而不是我拥有的值。如果你能向我解释我如何做到这一点,那将有很大帮助。
谢谢!
【问题讨论】:
-
我希望它接受所有输入考虑将它们作为命令行参数传递