JAVA - 程序用作输入输出,输入输出;想要使程序功能分别作为输入输入,输出,输出

时间:2017-09-21 02:22:03

标签: java input output

我刚开始学习Java,我想克服在尝试为这个'问题'创建Java程序时出现的障碍。这是我必须为以下项目创建程序的问题:

Tandy喜欢赠送糖果,但只有n个糖果。对于她给糖果的第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--;
        }
    }  
}

(对不起代码很乱!)

我的代码接收“案例”的数量,然后我可以在多个糖果中输入多少次以获得它可以提供的人数。但是,我的程序需要糖果的数量,然后输出正好的人数,而我希望它输入所有输入(输入的数量取决于用户输入的数量) (例如),然后输出所有值,而不是我拥有的值。如果你能向我解释我如何能做到这一点,那将会有很大帮助。

谢谢!

2 个答案:

答案 0 :(得分:0)

根据我的理解,您希望在开始处理答案之前将输入存储在某个位置,然后立即输出所有答案。

我老实说认为这个问题要求你将每个测试用例作为输入处理,然后输出结果。所以你现在正走在正确的轨道上。

但是如果你想获得所有输入然后处理每个输入然后输出,使用数组,因为你知道测试用例的大小。您还需要为输出创建一个相同大小的数组,然后处理输入数组中的每个第i个项目,并将每个结果存储在输出数组中的相同第i个位置。

希望这有帮助

答案 1 :(得分:0)

好吧,正如我理解你的问题,你知道什么是输入及其类型(数据类型)。

然后是输入格式,你有一些样本整数输入。此时您可以使用数组(因为您使用相同的数据类型),并且您也知道大小。

接下来,输入数量取决于用户输入的案例数量。

这里你可以做的是使用两个整数数组,用户可以使用Scanner类输入一些值。

最后使用for循环输出或打印值。

请参阅以下链接以获取更多信息

https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html

http://www.flowerbrackets.com/java-array/