「JAVA输出三行三列型」java三行三列数组
本篇文章给大家谈谈JAVA输出三行三列型,以及java三行三列数组对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、用Java定义一个三行三列的二维数组,要求每行之和等于每列之和
- 2、用java写程序,输入3行3列,求最大值、最小值、平均值、每一行排序、对角线的和
- 3、大家帮我看看这道Java程序,到底是哪里出问题了?打印不出3行3列的星星啊!
- 4、使用Java语言编写一段程序,实现从控制台输入并输出一个3行3列的数组。
用Java定义一个三行三列的二维数组,要求每行之和等于每列之和
其实就是魔术方阵。。。
给你写了个比较通用的哈。。
public class MagicSquare {
/**
* @param args
*/
//注意只能产生奇数的魔术方阵 偶数的规律不一样
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] square = generateSquare(3);
for(int[] nums : square) {
for(int num : nums) {
System.out.printf("%-4d", num);
}
System.out.println();
}
}
//产生魔术方阵的方法 注意只能是奇数方阵哈 参数count就是你想要产生几阶的
public static int[][] generateSquare(int count) {
int[][] square = new int[count][count];
int row = 0;
int col = count / 2;
square[row][col] = 1;
for(int i = 2; i = count * count; i++) {
row--;
col--;
if(row 0) {
row = count - 1;
}
if(col 0) {
col = count - 1;
}
if(square[row][col] != 0) {
if(row == count - 1) {
row = 0;
} else {
row++;
}
if(col == count - 1) {
col = 0;
} else {
col++;
}
row++;
if(row count - 1) {
row = 0;
}
}
square[row][col] = i;
}
return square;
}
}
用java写程序,输入3行3列,求最大值、最小值、平均值、每一行排序、对角线的和
import java.util.Arrays;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int nums[][] = scanf(3, 3);
System.out.println("最大值:" + max(nums));
System.out.println("最小值:" + min(nums));
System.out.println("平均值:" + avg(nums));
int sum = diagonalSum(nums);
sort(nums);
System.out.println("对角线之和:" + sum);
}
// 输入
public static int[][] scanf(int row,int col){
int[][] nums = new int[row][col];
System.out.println("请输入三行三列数阵");
Scanner scanner = new Scanner(System.in);
for (int i = 0; i row; i++) {
for (int j = 0; j col; j++) {
int num = scanner.nextInt();
nums[i][j] = num;
}
}
return nums;
}
// 最大值
public static int max(int[][] nums){
int max = nums[0][0];
for (int i = 0; i nums.length; i++) {
for (int j = 0; j nums[i].length; j++) {
if(max nums[i][j]){
max = nums[i][j];
}
}
}
return max;
}
// 最小值
public static int min(int[][] nums){
int min = nums[0][0];
for (int i = 0; i nums.length; i++) {
for (int j = 0; j nums[i].length; j++) {
if(min nums[i][j]){
min = nums[i][j];
}
}
}
return min;
}
// 平均值
public static float avg(int[][] nums){
int sum = 0;
int count = 0;
for (int i = 0; i nums.length; i++) {
for (int j = 0; j nums[i].length; j++) {
sum += nums[i][j];
count++;
}
}
return sum / (count * 1.0f);
}
// 排序
public static void sort(int[][] nums) {
for (int i = 0; i nums.length; i++) {
Arrays.sort(nums[i]);
System.out.print("第" +(i+1) + "行排序:");
for (int j = 0; j nums[i].length; j++) {
System.out.print(nums[i][j] + " ");
}
System.out.println();
}
}
// 对角线的和
public static int diagonalSum(int[][] nums){
int sum = 0;
for (int i = 0; i nums.length; i++) {
for (int j = 0; j nums[i].length; j++) {
if(i==j || i+j == nums.length-1){
sum += nums[i][j];
}
}
}
return sum;
}
}
大家帮我看看这道Java程序,到底是哪里出问题了?打印不出3行3列的星星啊!
ArrayIndexOutOfBoundsException是下标越界异常,错误提示不是指第三行,而是第16行。那个3表示下标出现了3,而你定义的数组下标最大的只能是2,所以出现了下标越界异常。如果是想打印出三行三列的星星可以把代码改成这样:
public static void main(String[] args) {
int i ,j;
for(i=0;i3;i++){
for(j=0;j3;j++){
System.out.print("*");
}
System.out.println();
}
}
使用Java语言编写一段程序,实现从控制台输入并输出一个3行3列的数组。
import java.util.Scanner;
public class P
{
public static void main(String[] args)
{
int[][] a=new int[3][3];
Scanner sc = new Scanner(System.in);
System.out.println("请输入9个整数:");
for(int i=0;i3;i++)
{
for(int j=0;j3;j++)
{
a[i][j]=sc.nextInt();
}
}
System.out.println("你输入的3x3数组的数据是:");
for(int i=0;i3;i++)
{
for(int j=0;j3;j++)
{
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
JAVA输出三行三列型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java三行三列数组、JAVA输出三行三列型的信息别忘了在本站进行查找喔。
发布于:2022-12-13,除非注明,否则均为
原创文章,转载请注明出处。