重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
只要不修改项目初始化加载的那些类,别的都不需要重启tomcat的。比如配置文件修改,PO类修改等这些初始化加载的类是需要重启的。
10多年的爱辉网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整爱辉建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“爱辉网站设计”,“爱辉网站推广”以来,每个客户项目都认真落实执行。
编程错误解决方法
Java入门基础第4天《Java编程规范及编译源代码常见错误的解决方法》

爱笑的陈sir
原创
关注
10点赞·484人阅读
大家傍晚好呀!通过学习Java入门基础第3天我们了解了怎么用记事本编写运行Java程序,但是这两天我收到了很多大家的一部分问题?说一下问的最多的吧。如,我的程序运行不了,一行代码,5个报错,编写、编译错误、编码格式错误等等,总之五花八门。
根据所述问题,今天聊聊Java编程规范。方便大家观看,把之前的文章整合了。
Java入门基础第1天(什么是Java?)
Java入门基础第2天(java jdk下载与安装教程)
Java入门基础第3天《使用记事本编写运行Java程序》
Java编程规范及编译源代码常见错误的解决方法
一、编程规范
二、命名规则
三、编码格式规定
四、javac 编译器编译源代码文件常见的问题
五、 解释执行.dass文件常见问题
一、编程规范
我们先简单了解一下什么是编程规范?
编程规范是对编程的一种约定,主要作用是增强代码的可读性和可维护性,便于代码重用
二、命名规则
基本要求是,程序中的各个要素都遵守命名规则,
然后在编码中严格按照编码格式编写代码。
命名规则包括以下几点:
► 包的名称由一个小写字母序列组成。
► 类的名称由大写字母开头,其他字母都由小写的单词组成。
► 类的实例的名称由一个小写字母开头,后面的单词由大写字母开头。
► 常量的名称都大写,并且指出完整含义。 参数的名称无其他具体规定。
► 数组的命名使用“类型[] 数组名”的形式。
三、编码格式规定
► 程序最开始编写导入包和类语句,如 import 语句。
import 语句可以有多行,编写完 import 语句后空一行。
► 定义 public 类,顶格书写。类的主体左括号{不换行书写,右括号}顶格书写。
► 定义 public 类中的变量,缩进书写。
► 定义方法用缩进书写,方法的左括号{不换行书写,右括号}和方法首行第一个字符对齐。方法体要再次缩进书写,最后一个变量定义和第一个方法定义之间、方法和方法之间最好空一行。
四、javac 编译器编译源代码文件常见的问题
我们在使用javac 编译器编译源代码时文件时,会出现几个常见的报错问题。
错误描述1、Error:cannot read:HelloJava.java javac。 工具程序找不到指定的 java文件
解决方法:这个需要检查一下你的文件是否存储在当前目录中,或文件名是否错误。
错误描述2、 HelloJava.java:4:class HelloJava is public,should be declared in a file named MyApplication.java。
解决方法:这是你的源文件中类的名称和源文件名称不符,
需要确定源文件名称和类名称是否相同。
错误描述3、 HelloJava.java:6:cannot find symbol。
解决方法:可能是你的源程序文件中某些代码部分输入错了,
最常见的原因可能是没有注意到字母的大小写。
错误描述4、Javac 不是内部或外部命令、可执行程序或批量文件。
解决方法:这是你的 path 设置有误或这你没有在 path 系统变量中加入 JDK 的 bin 目录。
五、 解释执行.dass文件常见问题
我们在解释执行 .dass 文件时,可能会出现以下几个常见的错误报错问题:
错误描述1、 Exception in thread “main” java.lang.NoClassDe£FoundError。
报错出现在Java 工具程序找不到所指定的 .class 类,
需要确定指定的类是否存储在当前目录中,名称是否正确。
错误描述2、 Exception in thread “main” java.lang.NoSuchMetliodError:main。
问题出现在没有指定 Java 程序的入口。
Java 工具程序指定的类必须有一个程序入口,
也就是必须包括 main(String args[]) 这个方法。
鼓励: 如果你觉得博主的文章的不错或者对你有帮助,
可以点一个免费的关注支持一下博主,
如果三连收藏支持就更好了吖,嘿嘿嘿,谢谢。
你的代码有很多问题,最主要的一个吧就是你的inverse函数的参数没传进去,你自己定义一个空矩阵num[][],计算秩,怎么算都是零,然后就返回 null,自然就报空指针异常了。我改好了程序,供你参考:
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;
}
}
}