java运行时修改代码 java修改功能怎么实现

JAVA代码修改

你的代码有很多问题,最主要的一个吧就是你的inverse函数的参数没传进去,你自己定义一个空矩阵num[][],计算秩,怎么算都是零,然后就返回 null,自然就报空指针异常了。我改好了程序,供你参考:

成都创新互联公司科技有限公司专业互联网基础服务商,为您提供内江机房主机托管高防物理服务器租用,成都IDC机房托管,成都主机托管等互联网服务。

import java.util.Scanner;

public class Project2 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("请依次输入:a11、a12、a13、a21、a22、a23、a31、a32、a33\n");

int i, j;

double[][] number = new double[3][3];

double[][] number0 = new double[3][3];

for (i = 0; i  3; i++)

for (j = 0; j  3; j++)

number[i][j] = input.nextDouble();

System.out.println("Input Matrix is :");

System.out.println(number[0][0] + " " + number[0][1] + " "

+ number[0][2]);

System.out.println(number[1][0] + " " + number[1][1] + " "

+ number[1][2]);

System.out.println(number[2][0] + " " + number[2][1] + " "

+ number[2][2]);

number0 = inverse(number);

if (number0 != null) {

System.out.println("Inverse Matrix is :");

System.out.println(number0[0][0] + " " + number0[0][1] + " "

+ number0[0][2]);

System.out.println(number0[1][0] + " " + number0[1][1] + " "

+ number0[1][2]);

System.out.println(number0[2][0] + " " + number0[2][1] + " "

+ number0[2][2]);

} else

System.out.println("矩阵的秩为零");

}

public static double[][] inverse(double[][] A) {

double z;

double A1, B, C, D, E, F, G, H, I;

// double [][] num = new double [3][3];

double[][] num0 = new double[3][3];

System.out.println("Inverse Matrix A is :");

System.out.println(A[0][0] + " " + A[0][1] + " " + A[0][2]);

System.out.println(A[1][0] + " " + A[1][1] + " " + A[1][2]);

System.out.println(A[2][0] + " " + A[2][1] + " " + A[2][2]);

z = A[0][0] * A[1][1] * A[2][2] + A[2][0] * A[0][1] * A[1][2] + A[0][2]

* A[1][0] * A[2][1] - A[0][2] * A[1][1] * A[2][0] - A[0][0]

* A[1][2] * A[2][1] - A[2][2] * A[1][0] * A[0][1];

if (z == 0)

return null;

else {

A1 = A[0][0];

B = A[0][1];

C = A[0][2];

D = A[1][0];

E = A[1][1];

F = A[1][2];

G = A[2][0];

H = A[2][1];

I = A[2][2];

num0[0][0] = 1 / z * (E * I - F * H);

num0[0][1] = 1 / z * (C * H - B * I);

num0[0][2] = 1 / z * (B * F - C * E);

num0[1][0] = 1 / z * (F * G - D * I);

num0[1][1] = 1 / z * (A1 * I - C * G);

num0[1][2] = 1 / z * (C * D - A1 * F);

num0[2][0] = 1 / z * (D * H - E * G);

num0[2][1] = 1 / z * (B * H - A1 * H);

num0[2][2] = 1 / z * (A1 * E - B * D);

return num0;

}

}

}

Java修改代码

你写的程序,把那个int型的转化后你会发现还有别的错误!

建议你在做程序时,有解决补了的问题去查下JAVA帮助!

int转String的方法:String.valueOf(int a)

String转int

Integer.valueOf(String str)返回保存指定的 String 的值的 Integer 对象。将该参数解释为表示一个有符号的十进制整数, 就好像将该参数赋予 parseInt(java.lang.String) 方法一样。结果是一个表示字符串指定的整数值的 Integer 对象。

1楼所说的也时一种转换方法,JAVA帮助时编程时少不了的东西!

关于JAVA异常问题,修改代码

package com.wdy.test1;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.Scanner;

public class TestCase {

public static void main(String[] args) {

try {

new TestCase().testCase();

} catch (Exception e) {

e.printStackTrace();

}

}

public void testCase() throws Exception{

Scanner sc = new Scanner(System.in);

// 从字符扫描器中读取下一行字符串赋给变量s

// s的期望格式是用冒号隔开的24小时制的小时和分钟,比如23:12

String s = sc.nextLine();

sc.close();//关闭扫描器,释放资源

//sc指向一个新建的扫描器对象,并把字符串s当作扫描源

sc = new Scanner(s);

sc.useDelimiter(":");//将sc的分隔符设置成冒号

int h,m;

h=sc.nextInt();

m=sc.nextInt();

//创建一个当前日历对象,然后重新设置它的小时数和分钟数

Calendar c = Calendar.getInstance();

if(h24h=0){

c.set(Calendar.HOUR,h);

}else{

throw new Exception("小时数大小异常");

}

if(m59m=0){

c.set(Calendar.MINUTE, m);

}else{

throw new Exception("分钟数大小异常");

}

//将日历对象转换成日期对象然后格式化输出日期

Date d = c.getTime();

SimpleDateFormat format =new SimpleDateFormat("hh:mm");

System.out.println(format.format(d));

}

}


名称栏目:java运行时修改代码 java修改功能怎么实现
当前地址:http://cdiso.cn/article/dojgsgd.html

其他资讯