❶ java Main函數怎麼調用其他函數。 其他類。
主函數main前必須有static修飾符,static表示是靜態。
一般,在靜態的方法中,若要|-直接-|調用其他方法,那麼被調用的也必須是靜態。
你的程序中包含兩個部分
方法getInt() 和主函數main 其中主函數是靜態(main必須是靜態)。
那麼要在main中直接調用getInt()是不可以了,因為getInt沒有用static修飾,也就是說getInt不是靜態。
將public void getInt() 修改成 public static void getInt() ,追加靜態修飾符static後可直接調用。
主函數main修改為
public static void main(String[] args)
{
getInt(); //這里調用了上面的方法
System.out.println("總共有括弧對數:");
}
返回值:
有些方法是帶有返回值的,取決於你的用途。能不能帶返回值取決於void修飾符
普通方法,無返回值void修飾 。如 public void fangfa()這是無返回值的
public int fangfa() 這個是有返回值的,而且返回值必須是int
舉個例子
public int getPlayercounts()
{
int playercount = 0 ;//一般先初始化一個相應的變數待用(重要)
for (int i = 0 ; i < 99 ; i ++) //一些相關的計算和方法開始..
playercount ++ ;
return playercount; //返回一個int值(重要,而且是必須)
}
當你的方法不是用void修飾 而是用其他數據類型修飾,均是要有返回值的,也就是說在方法的結束為止至少要有一個return + 相應的數據類型的變數 來結束。
那麼返回值究竟有什麼意義呢?
看下面這個例子、
public static int getPlayercounts() //注意我用了static 這是一個靜態方法
{
int playercount = 0 ;//一般先初始化一個相應的變數待用(重要)
for (int i = 0 ; i < 99 ; i ++) //一些相關的計算和方法開始..
playercount ++ ;
return playercount; //返回一個int值(重要,而且是必須)
}
public static voin main(String[] args)
{
System.out.println("一共有"+getPlayercounts()+"個玩家");
}
看出來了吧,getPlayercounts()執行後 會獲得執行時得到的int數,在一些需要最後得到某個結果的方法中,用含有返回值的方法是非常方便的。
==============================================
你的代碼完全修改後如下,因為你需要的是得到括弧數,所以將你的原有方法改成一個返回int值得方法。
public class java
{
public static int getInt()// 原來是 public void getInt() ,修改後增加了static修飾, int替換了void
{
String strChar="a(bc)()()dnn()()j";
int iX=0;
int iY=0;
for(int p=0; p<strChar.length();p++)
{
String getstr=strChar.substring(p,p+1);
if(getstr.equals("(")){iX++;}
if(getstr.equals(")")){iY++;}
}
return Math.min(iY, iX);//取兩者之間的最小值(即括弧對數)作為返回值
}
public static void main(String[] args)
{
System.out.println("總共有括弧對數:"+getInt());
}
}
郁悶 寫了半天發現你已經認可了。。