java行列输出代码 java用方法输出几行几列

java求解,输出的列标不对是为什么?题目代码如下

import java.util.ArrayList;

专注于为中小企业提供网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业绿园免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

import java.util.Collections;

import java.util.Random;

import java.util.Scanner;

/** @author 枫雅

* 2019年6月12日

*/

public class TestTwo {

/**

* n 为矩阵阶数

*/

private static int n;

private static int sum;

private static int [][]Matrix;

private static ArrayListIntegerlist = new ArrayListInteger();

public static void main(String[] args) {

//接收一个n,表示矩阵除数

System.out.println("请输入一个整数N:");

Scanner scan = new Scanner(System.in);

n = scan.nextInt();

//生成一个n阶矩阵并输出

showMatrix(n);

//统计最多1的行

sumRow();

//统计最多1的列

sumColumn();

}

/**

* 统计最多1的行

*/

private static void sumRow() {

for (int i = 0; i n; i++) {

sum = 0;//每一行求和完毕后重置为0,即每一次都重新计算1的个数

for (int j = 0; j n; j++) {

sum += Matrix[i][j];//每行求和

}

list.add(sum);//存入list中

}

// list.sort(null);//排序

System.out.println("各行1的总数分别为:" + list);

System.out.println("最多1所在的行为第 " + list.indexOf(Collections.max(list)) + " 行。");

list.clear();//清空

}

/**

* 统计最多1的列

*/

private static void sumColumn() {

for (int j = 0; j n; j++) {

sum = 0;//每一行求和完毕后重置为0,即每一次都重新计算1的个数

for (int i = 0; i n; i++) {

sum += Matrix[i][j];//每行求和

}

list.add(sum);//存入list中

}

System.out.println("各列1的总数分别为:" + list);

System.out.println("最多1所在的列为第 " + list.indexOf(Collections.max(list)) + " 列。");

list.clear();//清空

}

/**

* @param n

* 生成一个n阶矩阵并输出

*/

private static void showMatrix(int n) {

Matrix = new int[n][n];

for (int i = 0; i n; i++) {

for (int j = 0; j n; j++) {

Matrix[i][j] = new Random().nextInt(2);

}

}

//show

for (int i = 0; i n; i++) {

for (int j = 0; j n; j++) {

System.out.print(Matrix[i][j] + " ");

}

System.out.println();

}

}

}

JAVA程序:从控制台输入一个M*N矩阵,输出行列互换后的矩阵

//以下是我写的代码,虽然有点儿多,给高手看了可能还惹笑话,但好歹也花了我一个多小时琢磨,希望LZ给分 (本人测试后有效)

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.Scanner;

public class Teacher1 {

//从控制台输入一个M*N矩阵,输出行列互换后的矩阵

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

System.out.println("请输入M...");

int m = sc.nextInt();

System.out.println("请输入M...");

int n = sc.nextInt();

System.out.println("你输入的M和N分别为:"+m+" , "+n);

boolean allow = false;

do{

allow = false;

System.out.println("现在您需要连续输入 "+m*n+"个整数,并以逗号隔开\n");

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String line = null;

try {

line = br.readLine();

} catch (IOException e) {

e.printStackTrace();

}

String [] s = line.trim().split(",");

if(s.length != m*n){

System.out.println("输入长度有误,请重输!");

allow = true;

}else{

String [][] str2s = new String[m][n];

int count = 0;

for(int i=0;im;i++){

for(int j=0;jn;j++){

str2s[i][j] = s[count++];

}

}

System.out.println("----数组原样----");

print2Array(str2s, m, n);

System.out.println("----替换结果----");

replace2Array(str2s, m, n);

}

}while(allow);

}

private static void print2Array(String[][] str2s,int m, int n){

for(int i=0;im;i++){

for(int j=0;jn;j++){

System.out.print(" "+str2s[i][j]+" ");

}

System.out.print("\n");

}

}

private static void replace2Array(String[][] str2s, int m, int n){

String line[] = new String[m*n];

int count = 0;

for(int i=0;in;i++){

for(int j=0;jm;j++){

line[count++] = str2s[j][i];

}

}

count = 0;

String[][] strR2s = new String[n][m];

for(int i=0;in;i++){

for(int j=0;jm;j++){

strR2s[i][j] = line[count++];

}

}

print2Array(strR2s, n ,m);

}

}

用java怎么把以下矩阵的格式打印出来?

按照你的要求打印矩阵的Java程序如下

public class A {

public static void main(String[] args) {

int N=3;

int n,i,j;

for(i=1;i=N;i++){

n=1;

for(j=1;ji;j++){

System.out.print(n+++" ");

}

for(j=i;j=2*N-1-i;j++){

System.out.print(n+" ");

}

for(j=2*N-1-i+1;j=2*N-1;j++){

System.out.print(n--+" ");

}

System.out.println();

}

for(i=N-1;i=1;i--){

n=1;

for(j=i-1;j=1;j--){

System.out.print(n+++" ");

}

for(j=2*N-1-i;j=i;j--){

System.out.print(n+" ");

}

for(j=2*N-1;j=2*N-1-i+1;j--){

System.out.print(n--+" ");

}

System.out.println();

}

}

}

运行结果

1 1 1 1 1 

1 2 2 2 1 

1 2 3 2 1 

1 2 2 2 1 

1 1 1 1 1

java输出5行5列矩阵

不罗嗦直接给你个代码,注释看不懂就问,改变东西的话,就换arr[]里面的东西就行

public class juzheng {

public static void main(String args[]){

int arr[] = {4,2,3,7,8};//定义数组内容

int count;//计数器

int length = arr.length;//数组的长度

for(int i = 0 ;i length;i++)

{

count =0;

for(int j = i ; count length ; count++,j++){

if(jlength-1)

j=0;

System.out.print(arr[j]+"\t");

}

System.out.println();

}

}

}

编写一个java程序,将二维数组中的行列互调显出来。 1 2 3 4 5 6 7 8 9 1

int[][] number = {{1,2,3},{4,5,6},{7,8,9}};

int[][] newnumber = new int[number[0].length][number.length];

for(int i = 0;inumber.length;i++){

for(int j = 0;jnumber[i].length;j++){

newnumber[i][j] = number[j][i];

}

}

System.out.println("This is new Array");

for(int i = 0;inumber.length;i++){

for(int j = 0;jnumber[i].length;j++){

System.out.print(newnumber[i][j]+" ");

}

System.out.println("");

}

System.out.println("This is old Array");

for(int i = 0;inumber.length;i++){

for(int j = 0;jnumber[i].length;j++){

System.out.print(number[i][j]+" ");

}

System.out.println("");

}

求java代码~~从控制台输入一个M*N矩阵,输出行列互换后的矩阵

思路:将输入的信息放到一个二维数组中a[m][n],然后嵌套循环输出,外循环n,内循环m


分享题目:java行列输出代码 java用方法输出几行几列
转载来源:http://ybzwz.com/article/dossigo.html