args是個局部變量,也就是說出了main()方法就失效了,而這段程序?qū)⒋俗兞糠糯蟮饺?編譯時應該是報變量沒有定義或初始化之類的異常
創(chuàng)新互聯(lián)擁有10多年成都網(wǎng)站建設工作經(jīng)驗,為各大企業(yè)提供網(wǎng)站建設、網(wǎng)站設計服務,對于網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、App定制開發(fā)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、空間域名等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等網(wǎng)站化運作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設項目的能力。
附代碼:
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));
}
}
看看這個結(jié)果是不是你想要的??
代碼說明:首選新建了一個全局參數(shù)BufferedReader類的實例,里面封裝了InputStreamReader類的一個實例,再在里面封裝了一個System.in這個類變量,其目的是獲取你當前的輸入值,因為要在你的Max()方法和Min()方法中調(diào)用,而這兩個方法都是靜態(tài)方法(staitc),所以我也把它標識為static(否則編譯報錯).
int tmp=Integer.parseInt(bfr.readLine()),這一句就是聲明一個整型變量tmp,然后把BufferedReader的實例變量bfr讀到的內(nèi)容(字符型)轉(zhuǎn)換成整型賦給tmp.下面的就容易了就是用調(diào)用方法傳進的參數(shù)和你輸入的數(shù)據(jù)作比較,返回相應的數(shù)值(不知我是不是理解對了,呵呵).
這只是一種方法,總之你原來的那個程序中args是一個局部變量,其作用范圍只能是main()方法內(nèi)部,不能把它拿到全局來用,如果你真的想在全局中使用這個參數(shù),你可以在所有方法的外面,public class 類名下的第一行聲明這個參數(shù),然后在構(gòu)造方法中對其進行初始化即可(或者像我的那個BufferedReader那樣在聲明的時候就初始化,但這種方法不太規(guī)范)
某些錯誤產(chǎn)生并不一定代表程序無法編譯通過,而是不符合某個規(guī)范或用了比較舊版本的jdk所導致的,check-style應該可以設置錯誤類型的,比如沒有構(gòu)造方法這樣的錯誤就可以忽略的,別急,慢慢來,一般調(diào)試別人的程序需要3-4周時間,熟練了就好。
1. 寫完代碼后用代碼給是工具format一下,讓其格式符合規(guī)范,看起來自然舒服; 完美主義型的程序員請在敲代碼的時候就按照規(guī)范的格式來,這樣離開了format工具代碼一樣漂亮;
2. 消除代碼中所有的warnning,警告信息畢竟不是在開玩笑,不能置之不理,一些可以確定不存在風險、且無法修復的warning,如在1.5及以后的JDK版本中使用不帶泛型的老版集合接口時編譯器給出的warning, 可使用@SuppressWarnings標注將其忽略;
3. 提交每一個change set之前,使用Findbug這個工具(有eclipse插件)檢查一遍代碼,把它提示的所有bug都修掉,這樣可以消除大量程序隱患;
4. 編寫充足的測試用例,如果你發(fā)現(xiàn)自己的代碼不可測,即無法方便地編寫test case,那一定是代碼結(jié)構(gòu)設計得有問題,重構(gòu)之,直到可測試為止。
總結(jié):在沒有導師review和指導的情況下,完全可以通過上面四個方法自行提高代碼質(zhì)量和OO設計水平。而代碼質(zhì)量也在一定程度上反映了程序員對待職業(yè)的態(tài)度,你當自己是碼農(nóng),按碼農(nóng)的標準去干活,那你永遠是碼農(nóng)。你當自己是藝術家,按藝術的標準是coding,那么終有一天你會成為代碼藝術家。
是業(yè)務邏輯么?如果是業(yè)務邏輯,可以用junit或者自己寫main測試,如果是代碼,現(xiàn)有的ide都可以幫助你進行檢查。