日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JAVA学习笔记(8)

發(fā)布時(shí)間:2024/4/13 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA学习笔记(8) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問(wèn)題1:

String newPath[i] = splited[1];為什么報(bào)錯(cuò)

錯(cuò)誤示例:

i:Syntax error on token i;delete this token

splited[1]: type mismatch

//String splited[]定義是這樣的解答:

這樣:String[] newPath = new String[1];
newPath賦值是這樣賦值:newPath[0] = splited[1];
注意:數(shù)組下標(biāo)從0開(kāi)始。newPath[0]表示該數(shù)組的第一個(gè)元素。


問(wèn)題2:

String splited[] = null;
while((line=rd.readLine())!=null)//readLine 讀取一個(gè)文本行
{
splited[] =line.split("->");//分割字符串
String splited1[] = splited[0].split("-");
List<String[]> oldPath = new ArrayList<String[]>();
oldPath.add(splited1);
List<String> newPath = new ArrayList<String>();
newPath.add(splited[1]);

}
為什么splited[] =line.split("->");//分割字符串這行會(huì)報(bào)錯(cuò)
如果在while里面定義String splited[]=line.split("->");就沒(méi)有問(wèn)題。

但是我現(xiàn)在想在外面使用這個(gè)參數(shù),怎么辦

答:

代碼寫(xiě)的有問(wèn)題,splited[] =line.split("->");//分割字符串
應(yīng)該是:splited=line.split(“->”);


問(wèn)題3:

我寫(xiě)的代碼:
輸入進(jìn)去之后,每次循環(huán)找到一個(gè)子串,就記錄長(zhǎng)度和位置,然后把這個(gè)記錄長(zhǎng)度和位置的數(shù)組存到一個(gè)list中。但是為什么當(dāng)我找到第二個(gè),第三個(gè)子串以后,list里面存的數(shù)組的內(nèi)容都變成一樣的了?
int a[] = new int[2];//記錄子串的長(zhǎng)度和位置
List<int[]> comp = new ArrayList<int[]>();
for(int i = 0; i<oldPath.size(); i++)//找到所有匹配子串
{
String str = oldPath.get(i);
if(oldp.contains(str))
{
a[0] = i;//所處的位置
a[1] = str.length();//子串的長(zhǎng)度
comp.add(a);

}

答:

List<int[]> comp = new ArrayList<int[]>();
for(int i = 0; i<oldPath.size(); i++)//找到所有匹配子串
{
String str = oldPath.get(i);
if(oldp.contains(str))
{
int a[] = new int[2];//記錄子串的長(zhǎng)度和位置 a[0] = i;//所處的位置
a[1] = str.length();//子串的長(zhǎng)度
comp.add(a);
}

數(shù)組是引用對(duì)象,你添加的時(shí)候重新new一個(gè)數(shù)組,不然始終是同一個(gè)對(duì)象。

數(shù)組是引用傳遞,你的a數(shù)組,是引用傳遞,所以總是最后一個(gè)數(shù)值的記錄,后面覆蓋前面,除非你在循環(huán)里面重新

? ? ? ?new a數(shù)組


問(wèn)題4:

java
list1,list2都是string類(lèi)型
例如list1[1] == news
list1[2] == newssport
list1[3] == newssportfootball
list2[1] == xinwen
list2[] == tiyuxinwen
里面分別存儲(chǔ)了一些字符串
現(xiàn)有一個(gè)輸入字符串(要么list中的全都不是它的字串,要么list中的一個(gè)是最佳匹配子串),先與list1里面的進(jìn)行匹配,找到最適合的一項(xiàng),然后把這一段用list2中對(duì)應(yīng)的內(nèi)容替換掉,輸出新的字符串。

答:

List<String> oldPath = result.get(0);

?List<String> newPath = result.get(1);

?String tempath = oldp;

?int temp0 = -1;

?int temp1 = 0;

?//int a[] = new int[2];//記錄子串的長(zhǎng)度和位置

?List<int[]> comp = new ArrayList<int[]>();

?for(int i = 0; i<oldPath.size(); i++)//找到所有匹配子串

?{

?String str = oldPath.get(i);

?if(oldp.contains(str))//檢測(cè)是否存在子串

?{

?int a[] = new int[2];

?a[0] = i;//所處的位置

?a[1] = str.length();//子串的長(zhǎng)度

?comp.add(a);

?}

?else continue;

?}

?if(comp != null)

?{

?temp0 = comp.get(0)[0];

?temp1 = comp.get(0)[1];

?for(int i = 1; i<comp.size(); i++)//找到最匹配的子串

?{

?if(temp1 > comp.get(i)[1])

?{

?}

?else

?{

?temp0 = comp.get(i)[0];

?temp1 = comp.get(i)[1];

?}

?}

?tempath = tempath.replace(oldPath.get(temp0),newPath.get(temp0));

轉(zhuǎn)載于:https://blog.51cto.com/gomic/1378559

總結(jié)

以上是生活随笔為你收集整理的JAVA学习笔记(8)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。