我正在尝试使用递增的数字制作动态2D(nxn)矩阵; 例:1 2 3 4 5 6 7 8 n n n n n n n
在汇编时,它给出了错误“Missing Return Statment”。
import javax.swing.*;
public class Hw4ex2{
public static void main(String args[]){
String a = JOptionPane.showInputDialog ("Matrix size nxn");
int size = Integer.parseInt(a);
}
}
public static int[][] matrix1(int size){
int[][] matrix1 = new int[size][size];
int x = 1;
for(int i=0; i<size; i++){
for(int j=0; j<size; j++){
matrix1[i][j] = x;
x++;
System.out.print(matrix1[i][j]);
}
}
}
非常感谢任何帮助。
答案 0 :(得分:1)
您需要向方法matrix1
添加一个return语句。
例如,在for:
下写下这个return matrix1;
请使用缩进使代码看起来更美观,更清晰。
您在类之外定义了函数matrix1
,因此您的代码无法正常工作。
另请考虑查看Java Hello World教程。
答案 1 :(得分:1)
为了从Java方法返回值,必须执行return
语句,并将值作为操作数。将变量命名为与方法相同是不够的。
答案 2 :(得分:0)
您告诉Java当您声明方法时,您将返回int:int[][]
类型的双矩阵:public static **int[][]** matrix1(int size){
或者:
a)返回int
类型的双数组public static int[][] matrix1(int size){
int[][] matrix1 = new int[size][size];
int x = 1;
for(int i=0; i<size; i++){
for(int j=0; j<size; j++){
matrix1[i][j] = x;
x++;
System.out.print(matrix1[i][j]);
}
}
return matrix1; //<-- return the thing you promised!
}
b)不返回任何内容:public static void matrix1(int size){
由于您似乎只是试图打印出2D数组中的值,因此您可能不需要返回任何内容(请选择b)