第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

string indexOf(int ch) 為什么我的返回值總是-1

package?test;

public?class?Test?{

	public?static?void?main(String[]?args)?{
		//?TODO?Auto-generated?method?stub
		String?s?=?"sdsds5dsjdghsl";
		int?ch?=?5;
		System.out.println(s.indexOf(ch));
	}
}

http://img1.sycdn.imooc.com//58430a6200011f8c08020342.jpg

正在回答

5 回答

返回-1表示沒(méi)有找到,你定義的ch是int型,indexof括號(hào)里的int值是對(duì)應(yīng)字符的ascii碼的值,而字符串里沒(méi)有,所以返回-1

1 回復(fù) 有任何疑惑可以回復(fù)我~

Q】為什么indexOf(int ch)方法中的參數(shù)是整形的,而在用的時(shí)候卻是char型的如

public class Test
{
public static void main(String[] args){

String s1=new String("hello");

System.out.println(s1.indexOf('e'))
}

【K】
首先int類型32個(gè)位(1個(gè)符號(hào)位+31個(gè)數(shù)值位) char類型16個(gè)位(16個(gè)數(shù)值位)
char data = 97;這樣的賦值是沒(méi)有錯(cuò)誤的 這是用ascii編碼來(lái)給char賦值?
Java當(dāng)中 一個(gè)較小數(shù)據(jù)類型是直接可以賦值給大數(shù)據(jù)類型的而且在參數(shù)傳遞的時(shí)候同理,你可以寫這樣一行代碼:
int data = 'a'; //或者:
char c = 'e'
?所以Java當(dāng)中在參數(shù)匹配的時(shí)候是可以用char類型參數(shù)匹配int類型參數(shù)的定義的
s1.indexOf('e')等價(jià)于s1.indexOf(101) 在這里用e的ASCII編碼來(lái)匹配int類型參數(shù)


在Java中,查閱API,還有重載函數(shù) int indexOf(String str):
所以哪怕你是s1.indexOf(“e”)都不會(huì)有問(wèn)題。


1 回復(fù) 有任何疑惑可以回復(fù)我~

int ch = '5';

0 回復(fù) 有任何疑惑可以回復(fù)我~

查找的是字符,每個(gè)字符是有對(duì)應(yīng)的ascii碼值的。

0 回復(fù) 有任何疑惑可以回復(fù)我~

s.indexOf(5)表示s字符串里ascii值為5的字符出現(xiàn)的位置,但是首先ascii=5對(duì)應(yīng)的并不是一個(gè)字符,它在s中顯然沒(méi)有出現(xiàn),當(dāng)找不到所查字符串時(shí),返回-1。

indexOf()的正常使用方法是indexOf(String,int),返回String字符串在對(duì)象中從左往右數(shù),從int位置開(kāi)始的下一個(gè)出現(xiàn)位置的值,int的缺省值為0。


1 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

string indexOf(int ch) 為什么我的返回值總是-1

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)