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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從字符串中提取逗號分隔的值

從字符串中提取逗號分隔的值

慕妹3242003 2022-09-22 20:07:53
我正在嘗試從字符串下方打印逗號分隔值A(chǔ),B,C,D,E這是我的代碼String Inp = "A,B,C,D,E";StringBuilder op = new StringBuilder();int Idx = 0;int IdxUpto = 0;for(;;){  IdxUpto = Inp.indexOf(",", Idx);  if(IdxUpto==-1){    System.out.println("There is no more commas in String");    op.append(Inp.substring(Idx, Inp.length()));    System.out.println(op);    break;  }  op.append(Inp.substring(Idx, IdxUpto));  Idx = IdxUpto;  System.out.println(op);}   對于循環(huán)在第一次提取后沒有得到停止,任何人都可以幫助我做錯了什么?編輯:預(yù)期輸出ABCDE謝謝
查看完整描述

3 回答

?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗 獲得超6個贊

下面是代碼中令人反感的行:


Idx = IdxUpto;

您應(yīng)該遞增加一,以考慮到您還必須前進(jìn)超過寬度為 1 的逗號分隔符。所以使用這個:


Idx = IdxUpto + 1;

但請注意,您還有其他幾個問題。首先,您應(yīng)該遵循Java約定,避免以大寫字母開頭的變量名稱。此外,在這里使用循環(huán)可能比不使用指定條件的循環(huán)更有意義??紤]到所有這些因素,以下是腳本的工作版本:whilefor


String input = "A,B,C,D,E";

StringBuilder op = new StringBuilder();

int idx = 0;

int idxUpto = 0;

do {

    idxUpto = input.indexOf(",", idx);

    if (idxUpto == -1) {

        String term = input.substring(idx, input.length());

        op.append(term);

        System.out.println(term);

        System.out.println("There is no more commas in String");

        break;

    }

    String term = input.substring(idx, idxUpto);

    op.append(term);

    idx = idxUpto+1;

    System.out.println(term);

} while(true);


A

B

C

D

E

There is no more commas in String


查看完整回答
反對 回復(fù) 2022-09-22
?
汪汪一只貓

TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊

您可以簡單地使用如下方法:String.split()


public class StringSplit {

  public static void main(String[] args) {

    String input = "A,B,C,D,E";

    String[] array = input.split(",");

    for (String letter : array) {

      System.out.println(letter);

    }

  }

}

輸出:


A

B

C

D

E


查看完整回答
反對 回復(fù) 2022-09-22
?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

字符串的 api 表示如下:indexof

返回此字符串中第一次出現(xiàn)的指定子字符串的索引,從指定的索引開始。

當(dāng)您輸入 for 條件時,索引為 1(找到第一個逗號的索引位置)?,F(xiàn)在,您要做的是將Idx設(shè)置為此索引,如下所示:

Idx = IdxUpto;

現(xiàn)在,由于api的索引開始從該索引中搜索逗號,它一直說我在索引1處找到,并且您繼續(xù)嘗試在索引1處搜索逗號。要解決此問題,請嘗試添加如下方法:

Idx = IdxUpto + 1;

需要注意的幾件事:

一個。使用駝峰大小寫變量命名約定。
(二)您正在追加到字符串生成器,如果您需要按預(yù)期的所需輸出,則語句應(yīng)更改為:println

System.out.println(Inp.substring(Idx, IdxUpto));//mutate Idx assignment after this print statement.


查看完整回答
反對 回復(fù) 2022-09-22
  • 3 回答
  • 0 關(guān)注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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