args是个局部变量,也就是说出了main()方法就失效了,而这段程序将此变量放大到全局,编译时应该是报变量没有定义或初始化之类的异常
创新互联拥有10多年成都网站建设工作经验,为各大企业提供网站建设、网站设计服务,对于网页设计、PC网站建设(电脑版网站建设)、App定制开发、wap网站建设(手机版网站建设)、程序开发、网站优化(SEO优化)、微网站、空间域名等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了很多网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等网站化运作于一体,具备承接各种规模类型的网站建设项目的能力。
附代码:
import java.io.*;
public class MaxMin {
static BufferedReader bfr=
new BufferedReader(new InputStreamReader(System.in));
static int Max(int a){
try {
System.out.println("Please input what you want to match a:");
int tmp=Integer.parseInt(bfr.readLine());
if(atmp) {
return tmp;
}
} catch(IOException ex) {
System.out.println("Excpetion Messages : "+ex.getMessage());
}
return a;
}
static int Min(int b){
try {
System.out.println("Please input what you want to match b:");
int tmp=Integer.parseInt(bfr.readLine());
if(btmp) {
return tmp;
}
} catch(IOException ex) {
System.out.println("Excpetion Messages : "+ex.getMessage());
}
return b;
}
public static void main(String[] args){
System.out.println("最大值:"+Max(0));
System.out.println("最小值:"+Min(0));
}
}
看看这个结果是不是你想要的??
代码说明:首选新建了一个全局参数BufferedReader类的实例,里面封装了InputStreamReader类的一个实例,再在里面封装了一个System.in这个类变量,其目的是获取你当前的输入值,因为要在你的Max()方法和Min()方法中调用,而这两个方法都是静态方法(staitc),所以我也把它标识为static(否则编译报错).
int tmp=Integer.parseInt(bfr.readLine()),这一句就是声明一个整型变量tmp,然后把BufferedReader的实例变量bfr读到的内容(字符型)转换成整型赋给tmp.下面的就容易了就是用调用方法传进的参数和你输入的数据作比较,返回相应的数值(不知我是不是理解对了,呵呵).
这只是一种方法,总之你原来的那个程序中args是一个局部变量,其作用范围只能是main()方法内部,不能把它拿到全局来用,如果你真的想在全局中使用这个参数,你可以在所有方法的外面,public class 类名下的第一行声明这个参数,然后在构造方法中对其进行初始化即可(或者像我的那个BufferedReader那样在声明的时候就初始化,但这种方法不太规范)
某些错误产生并不一定代表程序无法编译通过,而是不符合某个规范或用了比较旧版本的jdk所导致的,check-style应该可以设置错误类型的,比如没有构造方法这样的错误就可以忽略的,别急,慢慢来,一般调试别人的程序需要3-4周时间,熟练了就好。
1. 写完代码后用代码给是工具format一下,让其格式符合规范,看起来自然舒服; 完美主义型的程序员请在敲代码的时候就按照规范的格式来,这样离开了format工具代码一样漂亮;
2. 消除代码中所有的warnning,警告信息毕竟不是在开玩笑,不能置之不理,一些可以确定不存在风险、且无法修复的warning,如在1.5及以后的JDK版本中使用不带泛型的老版集合接口时编译器给出的warning, 可使用@SuppressWarnings标注将其忽略;
3. 提交每一个change set之前,使用Findbug这个工具(有eclipse插件)检查一遍代码,把它提示的所有bug都修掉,这样可以消除大量程序隐患;
4. 编写充足的测试用例,如果你发现自己的代码不可测,即无法方便地编写test case,那一定是代码结构设计得有问题,重构之,直到可测试为止。
总结:在没有导师review和指导的情况下,完全可以通过上面四个方法自行提高代码质量和OO设计水平。而代码质量也在一定程度上反映了程序员对待职业的态度,你当自己是码农,按码农的标准去干活,那你永远是码农。你当自己是艺术家,按艺术的标准是coding,那么终有一天你会成为代码艺术家。
是业务逻辑么?如果是业务逻辑,可以用junit或者自己写main测试,如果是代码,现有的ide都可以帮助你进行检查。