大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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();
}
}
}
//以下是我写的代码,虽然有点儿多,给高手看了可能还惹笑话,但好歹也花了我一个多小时琢磨,希望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程序如下
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
不罗嗦直接给你个代码,注释看不懂就问,改变东西的话,就换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();
}
}
}
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("");
}
思路:将输入的信息放到一个二维数组中a[m][n],然后嵌套循环输出,外循环n,内循环m