❶ java如何輸入一個自定義矩陣
java中自定義矩陣:
public static void main(String[] args) {
// TODO Auto-generated method stub
int n= 5;//長度
int array_int[][] = new int[n][n];
//初始化
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==0){
if(j%2==0){
array_int[i][j] = (j+1)*(j+1);
}
else{
array_int[i][j] = array_int[i][j-1]+1;
}
}
else if(j==0){
if(i%2==1){
array_int[i][j] = (i+1)*(i+1);
}
else {
array_int[i][j] = array_int[i-1][j]+1;
}
}
else{
if(i<j){
if(j%2==0){
array_int[i][j] = array_int[0][j]-i ;
}
else{
array_int[i][j] = array_int[0][j]+i ;
}
}
else{
if(i%2==0){
array_int[i][j] = array_int[i][0]+j ;
}
else{
array_int[i][j] = array_int[i][0]-j ;
}
}
}
//System.out.println(i+" "+j+":"+array_int[i][j] );
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.print(array_int[i][j]+ " " );
}
System.out.println();
}
}
當等於5時的運行結果:
1 2 9 10 25
4 3 8 11 24
5 6 7 12 23
16 15 14 13 22
17 18 19 20 21
❷ 輸出一個矩陣,要用Java實現
publicclassMatrix{
publicstaticvoidmain(String[]args){
int[]temp={7,4,8,9,1,5};
printMatrix(temp);
}
publicstaticvoidprintMatrix(int[]matrix){
intstart=0;
for(inti=matrix.length-1;i>=0;i--){
for(intj=0;j<matrix.length;j++){
System.out.print(matrix[start++]+" ");
if(start==matrix.length){
start=0;
}
}
System.out.println();
start=i;
}
}
}
感覺你寫的方陣錯了吧,我現在是按自己的理解做的,就是每一次把第一個移到最前面來
❸ java矩陣加法
publicstaticvoidmain(String[]args){
int[][]n1={{1,2},{2,3}};
int[][]n2={{1,2},{3,4}};
addMatrix(n1,n2);
}
publicstaticint[][]addMatrix(int[][]a,int[][]b){
int[][]c=newint[2][2];
System.out.println("a和b相加的數組c為");
for(inti=0;i<2;i++){
for(intj=0;j<2;j++){
c[i][j]=a[i][j]+b[i][j];
System.out.print(c[i][j]+" ");
}
}
returnc;
}
a和b相加的數組c為
2 4 5 7
我改成2*2的矩陣是沒有錯的。
❹ JAVA輸入矩陣問題
你可以放在循環裡面,輸完一行後提示輸入下一行,,,
❺ 用JAVA寫一個矩陣類
昨天剛幫一個網友改編的,輸出矩陣並且在矩陣求冪後輸出矩陣的一個類,直接可以運行。
注釋都有的。希望你用的得到。import java.util.Scanner;
public class JuZhen {
//定義計算方法
public static int calc(int x, int y,int score){
if(x==0 && y==0){
score = 0;
}else {
score = 1;
}
return score;
}
//輸入矩陣
public static void shuru(){
Scanner input = new Scanner(System.in);//Scanner是用來接納系統控制台輸的字元串的
System.out.print("請輸入矩陣的階數:");
int n = input.nextInt(); //取一個輸入的字元賦值給n
int M[][] = new int[n][n]; //定義數組維數.初始化數組,定義了一個雙向的長度為
//n的
System.out.print("請輸入矩陣的的值(0-1):");
for(int i=0;i<M.length ;i++){ //不能以0開始
for(int j=0 ;j<M[i].length ; j++){
M[i][j] = input.nextInt();
}
}
System.out.println("你輸入的矩陣為:");
for(int i=0;i<M.length ;i++){ //顯示矩陣
System.out.print("\n");
for(int j=0 ;j<M[i].length ; j++){
System.out .print(M[i][j] + "\t") ;
}
}
}
//僅僅是一個求冪的遞歸。
int myPow(int x, int y) {
int pow = 0;
if (y > 0) {
pow = x * myPow(x, y - 1);// 2,3//2*2,3-1
}
if (y < 0) {
pow = 1 / x * myPow(x, y + 1);
}
if (y == 0) {
pow = 1;
}
return pow;
}
//程序入口
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("請輸入矩陣的階數:");
int n = input.nextInt();//這個相當於確定行數。
int M[][] = new int[n][n];
//定義數組維數
System.out.print("請輸入矩陣的的值(0-1):");
for(int i=0;i<M.length ;i++){ //外循環表示行,在外循環已知的情況下去填內循環,內循環表示列
for(int j=0 ;j<M[i].length ; j++){
M[i][j] = input.nextInt();
}
}
int temp[][] =new int[n][n];
int m[][] =new int[n][n];
System.out.println("你輸入的矩陣為:");
for(int i=0;i<M.length ;i++){ //顯示矩陣
System.out.print("\n"); //執行完外循環也就是列印出一行後換行
for(int j=0 ;j<M[i].length ; j++){
temp[i][j] = M[i][j] ; //賦給矩陣temp
System.out .print(M[i][j] + "\t") ;//執行完內循環也就是一列時空兩格。\t為tab鍵起退格作用
}
}
System.out.print("\n\n你想求幾次方:");
int c =input.nextInt(); //獲得冪次
for (int k=0; k<c;k++){ //最外層的循環和里邊的兩層循環也就是二維數組里的每個都有交集,也就是每個都要求冪
for(int i=0 ; i<M.length; i++){
for(int j=0; j<M[i].length ;j++){
m[i][j]= new JuZhen().myPow(temp[i][j],c);
}
}
}//for k
for(int i=0;i<m.length ;i++){ //顯示矩陣
System.out.print("\n");
for(int j=0 ;j<m[i].length ; j++){
System.out .print(m[i][j] + "\t") ;
}
}
}//main
}//class JuZhen
❻ java使矩陣轉置
轉置就是行列對換,把數組中的數據從[i][j]變成[j][i]就可以了。
publicclassT{
publicstaticintrow=10;
publicstaticintcol=20;
publicstaticvoidmain(Stringargv[])throwsException{
inta[][]=newint[row][col];
intb[][]=newint[col][row];
//補充A的數據
for(inti=0;i<row;i++)
for(intj=0;j<col;j++)
b[j][i]=a[i][j];
//顯示B中的數據
}
}
❼ JAVA怎麼輸出矩陣
根據輸入值n初始化二維數組大小 new int[2n-1][2n-1]
設置所有值為1
改變行=n的值
改變列=n的值
輸出數組
❽ java演算法--矩陣
離散函數中有一種矩陣叫子矩陣,這是典型的子矩陣。
例如本例為一個二維數組,那麼a[0][i]和a[i][0]都是0;那麼a[1][i]和a[i][1]都是1;以此類推,
那麼對於任意的k,總有a[i][k]以及a[k][i]的值為i;
規律已經找出,剩下的交給你自己啦
❾ 用JAVA編寫矩陣
這樣定義就可以:int[][] array = {{1,13,12,11},{2,14,17,10},{3,15,16,9},{4,5,6,7,8}};
想要查看的話:
for(int i = 0; i < array.length; i ++) {
for(int j = 0; j < array[i].length; j ++) {
System.out.println(array[i][j]);
}
}
註:java 中的二維數組中每一維的長度是可以不同的,如例子中的,前三個長度為4,第四個長度則為5,這樣是允許的。
❿ java構造一個矩陣
1、java構造函數--數組 在構造函數中初始化數組,如 public class array { private int [][] matrix; public array(int r,int c) { matrix=new matrix[r][c]; } }
matrix=new matrix[r][c];
2、這里是new int[][]; java中8個基本數據類型都是有默認值的,int默認值為0 ,
3、所以數組中默認都為0.
4、但是切記有默認值的變數必須是類的屬性,方法中局部變數必須賦值才可以使用。