java 如何获得与示例输出相同的结果?[已关闭]

3ks5zfa0  于 2023-01-04  发布在  Java
关注(0)|答案(1)|浏览(121)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
23小时前关门了。
Improve this question
任务:
fives(int)方法打印给定数字以下的所有5,然后在新的一行打印之前打印的数字。
更正fives(int)方法中的错误,使该方法再次按上述方式工作。

Sample Input 1:

30
Sample Output 1:

5
10
15
20
25
5
Sample Input 2:

5
Sample Output 2:

0
Sample Input 3:

0
Sample Output 3:

0
Sample Input 4:

18
Sample Output 4:

5
10
2
import java.util.Scanner;

public class Main {
    public static void fives(int limit) {
        int i;
        for (i = 1; i <= (limit / 5); i++) {
            limit = limit - i;
            System.out.println(i * 5);
        }
        System.out.println(i);
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        fives(scanner.nextInt());
    }
}
My Output:

5
10
15
20
5

My Output 2:
1

My output 3:
5
10
15
4
2uluyalo

2uluyalo1#

你把一个简单的任务复杂化了,因为你知道你只想要5,你可以把i增加5,如果给定的数字是5的倍数,你知道你可以忽略它,所以i〈limit,然后每次通过都只计数1。
编辑:由于某种原因,它不是所有的5秒以下给定的数字是所有的5秒以下后,减去5的限制,这是奇怪的,但我更新了答案,为它

public static void fives(int limit) {
            int count = 0;
            for (int i = 5 ; i <= limit - 5; i += 5) {
                System.out.println(i);
                count++;
            }
            System.out.println(count);
        }

相关问题