本文目录一览:
java 计算矩阵中最多可以有多少个1
java 计算矩阵中最多可以有2个1。
public int searchLength(){int sum=0;int a=0;int arr[]={0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0}。
//无论多少个0或者1都可以for(int i=0;iarr.length-1;i++){if(arr[i]==0arr[i+1]==0){//前后相比a=a+1;System.out.println("1");}else{System.out.println("2");if(suma)。
线性变换及对称:
内含泡利矩阵及更通用的狄拉克矩阵的具体表示,在费米子的物理描述中,是一项不可或缺的构成部分,而费米子的表现可以用旋量来表述。描述最轻的三种夸克时,需要用到一种内含特殊酉群SU(3)的群论表示。
物理学家在计算时会用一种更简便的矩阵表示,叫盖尔曼矩阵,这种矩阵也被用作SU(3)规范群,而强核力的现代描述──量子色动力学的基础正是SU(3)。
还有卡比博-小林-益川矩阵(CKM矩阵):在弱相互作用中重要的基本夸克态,与指定粒子间不同质量的夸克态不一样,但两者却是成线性关系,而CKM矩阵所表达的就是这一点。
JAVA矩阵数组问题
1. main 拼写错了~
2 import io包。
3 throws Excption 里面有些方法要求必须抛出异常的。
干看这三个错比较严重
4. 换行的话可以加 System.println();
5. 输出a
6,某个循环开始条件错了,给你加了注释
综上,写程序要认真,困了就睡会。
import java.io.*;
public class array2 {
public static void main(String args[]) throws IOException
{
int i,j;
int a[][]=new int[3][3];
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input =new BufferedReader(reader);
for(i=0;i3;i++)
{
for(j=0;j3;j++)
{
a[i][j]=Integer.parseInt(input.readLine());
}
}
for(i=0;i3;i++)
{
for(j=0;j3;j++)
{
System.out.print(a[i][j]+" ");
}
System.out.println();
}
int b[][]=new int[3][3];
for(i=0;i3;i++)
{
for(j=0;j3;j++)//这里你刚开始写的j=i,怎么可能完全换类?
{
b[j][i]=a[i][j];
}
}
for(i=0;i3;i++)
{
for(j=0;j3;j++)
{
System.out.print(b[i][j]+" ");//这里你最初输出的a
}
System.out.println();
}
用java怎么写矩阵乘法?
import java.util.Scanner;
public class Matrix {
public double[][] create() {
Scanner sc = new Scanner(System.in) ;
System.out.print("请输入矩阵的行高:");
int a = sc.nextInt() ;
System.out.print("请输入矩阵的列宽:");
int b = sc.nextInt() ;
double[][] x = new double[a][b] ;
for(int i=0;ilt;a;i++){
for(int j=0;jlt;b;j++){
System.out.print("请输入元素x["+i+"]["+j+"]的值:" );
x[i][j] = sc.nextDouble() ;
}
}
return x ;
}
public double[][] multiply(double[][] x,double[][] y){
double[][] result = null ;
int a = x[0].length ;
int b = y.length ;
if(a != b){
System.out.println("输入的维数不匹配,不能进行运算");
}else{
int c = x.length ;
int d = y[0].length ;
result = new double[c][d] ;
for(int i=0;ilt;c;i++){
for(int j=0;jlt;d;j++){
double sum = 0 ;
for(int k=0;klt;a;k++){
sum += x[i][k]*y[k][j] ;
}
result[i][j] = sum ;
}
}
}
return result ;
}
public void print(double[][] x){
System.out.println("矩阵为:");
for(int i=0;ilt;x.length;i++){
for(int j=0;jlt;x[i].length;j++){
System.out.print(x[i][j] + " ") ;
}
System.out.println();
}
}
}
测试类:
public class TestMatrix {
public static void main(String[] args) {
Matrix m = new Matrix() ;
//double[][] x = {{1,2},{3,2}} ;
//double[][] y = {{1,2,1},{2,3,3}} ;
System.out.println("创建第一个数组:") ;
double[][] x = m.create() ;
m.print(x) ; //用来验证输入的是否和你一样的,没啥作用
System.out.println("创建第二个数组:");
double[][] y = m.create() ;
m.print(y) ; //用来验证输入的是否和你一样的,没啥作用
double[][] result = m.multiply(x, y) ;
if(result == null){
return ; //如果输入的矩阵不能运算就不输出结果了。
}
m.print(result) ;
}
}
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
java矩阵乘法
import java.util.Arrays;
public class Test {
static int[][] matrix1;
static int[][] matrix2;
public static void main(String[] args) {
matrix1=new int[][]{{1,2,3,4},{2,3,4,5},{3,4,5,6},{4,5,6,7},{5,6,7,8},{6,7,8,9}};
matrix2=new int[][]{{9,8,7,6,5,4},{8,7,6,5,4,3},{7,6,5,4,3,2},{6,5,4,3,2,1}};
if(matrix1.length!=matrix2[0].length){//若无法相乘则退出
System.out.println("ivalid input");
System.exit(0);
}
int[][] r = new int[matrix1[0].length][matrix2.length];
for(int i=0;ir.length;++i){
for(int j=0;jr[i].length;++j){//每一个r[i][j]的运算:
r[i][j]=0;//初始化
for(int k=0;kmatrix2.length;++k)
r[i][j]+=matrix1[i][k]*matrix2[k][j];
}
}
//输出结果
for(int i=0;ir.length;++i)
System.out.println(Arrays.toString(r[i]));
}
}
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、但是切记有默认值的变量必须是类的属性,方法中局部变量必须赋值才可以使用。
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;in;i++){
for(int j=0;jn;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(ij){
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;in;i++){
for(int j=0;jn;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