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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

盡管在函數(shù)內(nèi)更改了輸入,但函數(shù)返回輸入不變

盡管在函數(shù)內(nèi)更改了輸入,但函數(shù)返回輸入不變

動(dòng)漫人物 2022-07-20 20:23:35
就以下代碼而言,我遇到了一個(gè)問(wèn)題,即一切都運(yùn)行良好,但我沒(méi)有得到所需的輸出。代碼應(yīng)該接受用戶輸入并打印它,但所有字母的大小寫(xiě)都顛倒了。然而,即使在將輸入返回到 toggleStringCase 后,toggleCase 正常工作,它也會(huì)恢復(fù)到它被發(fā)送到 toggleCase 之前的狀態(tài)。我無(wú)法理解為什么會(huì)發(fā)生這種情況。有人可以指出我正確的方向。理想情況下,我不希望你告訴我答案,而只是幫助我以正確的方式解決這個(gè)問(wèn)題。package loopy;import java.io.*;public class loopy {    public static void main (String[] args) throws IOException {        // TODO: Use a loop to print every upper case letter        for (int i = 65; i < 91; i++) {            System.out.println((char)i);        }        // TODO: Get input from user. Print the same input back but with cases swapped. Use the helper functions below.         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));        String input = in.readLine();        in.close();             toggleStringCase(input);        BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));        out.write(input);        out.close();    }    //Takes a single Character and reverse the case if it is a letter    private static char toggleCase(char c) {        int asciiValue = (int) c;        if (asciiValue > 96 && asciiValue < 123){            asciiValue = asciiValue - 32;        }        else if (asciiValue > 64 && asciiValue < 91){            asciiValue = asciiValue + 32;        }        else {        }        c = (char) asciiValue;        return c;    }    // Splits a string into individual characters that are sent to toggleCase to have their case changed    private static String toggleStringCase(String str) {        String reversedCase = new String();        for (int i = 0; i < str.length(); i++) {            char letter = str.charAt(i);            toggleCase(letter);            reversedCase = reversedCase + letter;        }        str = reversedCase;        return str;    }}
查看完整描述

2 回答

?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊

toggleStringCase(input);

我想你可能想得到那個(gè)函數(shù)的輸出。您似乎假設(shè)輸入將被更改 - 事實(shí)并非如此。請(qǐng)參閱Java 是“按引用傳遞”還是“按值傳遞”?


查看完整回答
反對(duì) 回復(fù) 2022-07-20
?
慕田峪4524236

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

Java中的參數(shù)是按值傳遞的。您不能以這種方式更改傳遞給方法的值。但是,您正在返回您想要的值 - 只需將其分配回您的變量:

input = toggleStringCase(input);


查看完整回答
反對(duì) 回復(fù) 2022-07-20
  • 2 回答
  • 0 關(guān)注
  • 83 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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