導航:首頁 > 編程語言 > java函數內的函數

java函數內的函數

發布時間:2024-01-03 09:12:56

java內部調用內部方法的問題

Java內部調用內部方法主要是通過內部類實現。Java內部類分兩種,成員內部類和方法內部類。

代碼如下:

1.成員內部類
/**
*成員內部類
*/
publicclassOuter{
privateintouter=1;

classInner{
publicvoidshow(){
System.out.println("outer="+outer);
}
}

publicstaticvoidmain(String[]args){
Outer.Innerin=newOuter().newInner();
in.show();

}

}

2.方法內部類
/**
*方法內部類
*
*/
publicclassOuter2{
privateintouter=1;

publicvoidshowOut(){

classInner{
publicvoidshow(){
System.out.println("outer="+outer);
}
}
newInner().show();
}

publicstaticvoidmain(String[]args){
Outer2in=newOuter2();
in.showOut();

}

Ⅱ java中一些字元串函數的作用

java中的字元串也是一連串的字元。但是與許多其他的計算機語言將字元串作為字元數組處理不同,Java將字元串作為String類型對象來處理。將字元串作為內置的對象處理允許Java提供十分豐富的功能特性以方便處理字元串。下面是一些使用頻率比較高的函數及其相關說明。
String相關函數
1)substring()
它有兩種形式,第一種是:String substring(int startIndex)
第二種是:String substring(int startIndex,int endIndex)
2)concat() 連接兩個字元串
例:String s="Welcome to ";
String t=s.concat("AnHui");
3)replace() 替換
它有兩種形式,第一種形式用一個字元在調用字元串中所有出現某個字元的地方進行替換,形式如下:
String replace(char original,char replacement)
例如:String s=」Hello」.replace(』l',』w');
第二種形式是用一個字元序列替換另一個字元序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
4)trim() 去掉起始和結尾的空格
5)valueOf() 轉換為字元串
6)toLowerCase() 轉換為小寫
7)toUpperCase() 轉換為大寫
8)length() 取得字元串的長度
例:char chars[]={』a',』b』.』c'};
String s=new String(chars);
int len=s.length();
9)charAt() 截取一個字元
例:char ch;
ch=」abc」.charAt(1);
返回值為』b』
10)getChars() 截取多個字元
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串開始字元的下標
sourceEnd 指定了子串結束後的下一個字元的下標。因此,子串包含從sourceStart到sourceEnd-1的字元。
target 指定接收字元的數組
targetStart target中開始復制子串的下標值
例:String s=」this is a demo of the getChars method.」;
char buf[]=new char[20];
s.getChars(10,14,buf,0);
11)getBytes()
替代getChars()的一種方法是將字元存儲在位元組數組中,該方法即getBytes()
例:
String s = 「Hello!你好!」;
Java字元串函數
java中的字元串也是一連串的字元。但是與許多其他的計算機語言將字元串作為字元數組處理不同,Java將字元串作為String類型對象來處理。將字元串作為內置的對象處理允許Java提供十分豐富的功能特性以方便處理字元串。下面是一些使用頻率比較高的函數及其相關說明。
String相關函數
1)substring()
它有兩種形式,第一種是:String substring(int startIndex)
第二種是:String substring(int startIndex,int endIndex)
2)concat() 連接兩個字元串
例:String s="Welcome to ";
String t=s.concat("AnHui");
3)replace() 替換
它有兩種形式,第一種形式用一個字元在調用字元串中所有出現某個字元的地方進行替換,形式如下:
String replace(char original,char replacement)
例如:String s=」Hello」.replace(』l',』w');
第二種形式是用一個字元序列替換另一個字元序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
4)trim() 去掉起始和結尾的空格
5)valueOf() 轉換為字元串
6)toLowerCase() 轉換為小寫
7)toUpperCase() 轉換為大寫
8)length() 取得字元串的長度
例:char chars[]={』a',』b』.』c'};
String s=new String(chars);
int len=s.length();
9)charAt() 截取一個字元
例:char ch;
ch=」abc」.charAt(1);
返回值為』b』
10)getChars() 截取多個字元
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串開始字元的下標
sourceEnd 指定了子串結束後的下一個字元的下標。因此,子串包含從sourceStart到sourceEnd-1的字元。
target 指定接收字元的數組
targetStart target中開始復制子串的下標值
例:String s=」this is a demo of the getChars method.」;
char buf[]=new char[20];
s.getChars(10,14,buf,0);
11)getBytes()
替代getChars()的一種方法是將字元存儲在位元組數組中,該方法即getBytes()
例:
String s = 「Hello!你好!」;
byte[] bytes = s.getBytes();
12)toCharArray()
例:
String s = 「Hello!你好!」;
char[] ss = s.toCharArray();
13)equals()和equalsIgnoreCase() 比較兩個字元串
14)regionMatches() 用於比較一個字元串中特定區域與另一特定區域,它有一個重載的形式允許在比較中忽略大小寫。
boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String
str2,int str2StartIndex,int numChars)
15)startsWith()和endsWith()
startsWith()方法決定是否以特定字元串開始
endWith()方法決定是否以特定字元串結束
16)equals()和==
equals()方法比較字元串對象中的字元
==運算符比較兩個對象是否引用同一實例。
例:String s1=」Hello」;
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false
17)compareTo()和compareToIgnoreCase() 比較字元串
18)indexOf()和lastIndexOf()
indexOf() 查找字元或者子串第一次出現的地方。
lastIndexOf() 查找字元或者子串是後一次出現的地方。
19)trim去空格函數
例: String t1 = " abc de ";
System.out.println(t1.trim());// 去掉開頭和結尾的空格「abc de」
20)split字元串分割
String y = "abc,de,fg,hi,jk";
String[] y1 = y.split(",");// 截取字元串所有","字元
for (int i = 0; i < y1.length; i++) {
System.out.print(y1[i]);// 輸出結果abcdefghijk
}
21)append 添加或插入函數
StringBuffer zz1 = new StringBuffer(z1);// append 插入字元
zz1.append('|').append("hijk").append('/').append("lmn").append("opq");
System.out.println();
System.out.print(zz1);// 輸出:abcdefg|hijk/lmnopq
StringBuffer構造函數
StringBuffer定義了三個構造函數:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)
下面是StringBuffer相關的函數:
1)length()和capacity()
一個StringBuffer當前長度可通過length()方法得到,而整個可分配空間通過capacity()方法得到。
2)ensureCapacity() 設置緩沖區的大小
void ensureCapacity(int capacity)
3)setLength() 設置緩沖區的長度
void setLength(int len)
4)charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)
5)getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
6)append() 可把任何類型數據的字元串表示連接到調用的StringBuffer對象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append(」a=」).append(a).append(」!」).toString();
6)insert() 插入字元串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
7)index指定將字元串插入到StringBuffer對象中的位置的下標。
8)reverse() 顛倒StringBuffer對象中的字元
StringBuffer reverse()
9)delete()和deleteCharAt() 刪除字元
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
10)replace() 替換
StringBuffer replace(int startIndex,int endIndex,String str)
11)substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)

Ⅲ 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());
}
}

郁悶 寫了半天發現你已經認可了。。

閱讀全文

與java函數內的函數相關的資料

熱點內容
安卓怎麼測量開機電壓 瀏覽:775
程序員素質大全 瀏覽:953
激戰伺服器不見了怎麼辦 瀏覽:983
安卓如何退回初始系統 瀏覽:952
用什麼手錶能代替app 瀏覽:707
女程序員熬夜體檢 瀏覽:717
解壓故事校園戀愛又煩惱 瀏覽:557
冰箱壓縮機放多久能啟動 瀏覽:173
軟體演算法發明專利 瀏覽:988
旁氏演算法 瀏覽:767
程序員那麼可愛電視劇免費觀看極速版 瀏覽:749
程序員那麼可愛陸漓孩子保住了嗎 瀏覽:566
如何獲取伺服器dns秒解 瀏覽:665
如何破解大黃蜂的加密文件 瀏覽:13
新概念英語第三冊pdf 瀏覽:403
分項詳細估演算法步驟 瀏覽:438
ipad桌面文件夾放大 瀏覽:893
我的世界基岩版怎麼進國際伺服器 瀏覽:518
福州醫院有沒有解壓艙 瀏覽:472
帶pwm的51單片機 瀏覽:918