我刚刚开始学习Java,我想克服在创建Java程序时出现的一个障碍。这就是我必须为以下目的创建一个程序的问题:
坦迪喜欢分发糖果,但只有N种糖果。她给第一个人糖果,她给我糖果给那个人。例如,她先给兰迪1块糖,然后给潘迪2块糖果,然后给桑迪3块。
输入格式
第一行是整数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--;
}
}
}(如果代码乱七八糟,很抱歉!)
我的代码接受“案例”的数量,这就是我可以输入多少次糖果才能得到它能提供的人数。但是,我的程序获取糖果的数量,然后输出紧接着的人数,而我希望它接收所有的输入(输入的数量是基于用户输入的数量),然后输出所有的值,而不是我拥有的。如果你能向我解释一下我是怎么做到的,那会有很大帮助的。
谢谢!
发布于 2017-09-21 03:17:35
根据我的理解,您希望在开始处理答案之前先将输入存储在哪里,然后立即输出所有答案。
老实说,我认为问题需要您处理每个测试用例作为输入,然后输出结果。所以你现在走在正确的轨道上。
但是,如果您想获得所有输入,然后处理每个输入然后输出,请使用数组,因为您知道测试用例的大小。您还需要为输出创建一个大小相同的数组,然后处理输入数组中的每个ith项,并将每个结果存储在输出数组中相同的ith位置。
希望这能有所帮助
https://stackoverflow.com/questions/46334429
复制相似问题