gpt4 book ai didi

java - 帕斯卡三角形 - 线程 "main"java.util.NoSuchElementException 中出现异常

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:23 25 4
gpt4 key购买 nike

在接下来的 4 小时内我确实需要帮助。我正在尝试创建一个程序,它接受 int 并输出该大小的帕斯卡三角形。但是,当我尝试通过扫描仪获取“ROW”的值时,我收到以下错误消息:

Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Pascal.main(Pascal.java:9)

如果我将 ROW 与 int "max"一起定义为静态 int,则该程序似乎没问题,但一旦我将 Scanner 与它一起使用,问题就会再次出现。提前致谢。

import java.util.*;
import java.util.Scanner;

public class Pascal {
private static int max = 0;

public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int ROW = kb.nextInt();
int[][] pascal = new int[ROW + 1][];
pascal[1] = new int[1 + 2];
pascal[1][1] = 1;
for (int i = 2; i <= ROW; i++) {
pascal[i] = new int[i + 2];
for (int j = 1; j < pascal[i].length - 1; j++) {
pascal[i][j] = pascal[i - 1][j - 1] + pascal[i - 1][j];
String str = Integer.toString(pascal[i][j]);
int len = str.length();
if (len > max)
max = len;
}
}

for (int i = 1; i <= ROW; i++) {
for (int k = ROW; k > i; k--)
System.out.format("%-" + max + "s", " ");
for (int j = 1; j < pascal[i].length - 1; j++)
System.out.format("%-" + (max + max) + "s", pascal[i][j]);
System.out.println();
}

}
}

最佳答案

这是使用矩阵的可能解决方案...

import java.util.Scanner;

public class PascalTriangle {

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Type N: ");
pascalTriangle(scanner.nextInt());
scanner.close();
}

public static void pascalTriangle(final int N) {
int[][] triangle = new int[N][N];

for (int i = 0; i < N; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0)
triangle[i][0] = 1;
else
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
System.out.print(triangle[i][j] + "\t");
}
System.out.println();
}
}
}

输出:

Type N: 13
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
1 11 55 165 330 462 462 330 165 55 11 1
1 12 66 220 495 792 924 792 495 220 66 12 1

关于java - 帕斯卡三角形 - 线程 "main"java.util.NoSuchElementException 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39823214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com