推薦答案
要在(zai)Java中實現多行字符串(chuan)輸(shu)入(ru),可(ke)以(yi)使(shi)用Scanner類逐行讀取輸(shu)入(ru)。下面是(shi)使(shi)用Scanner類逐行讀取多行字符串(chuan)輸(shu)入(ru)的(de)示例代(dai)碼:
import java.util.Scanner;
public class MultiLineStringInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入多行字符串,以空行結束:");
StringBuilder sb = new StringBuilder();
String line;
while (!(line = scanner.nextLine()).isEmpty()) {
sb.append(line).append("\n");
}
String input = sb.toString();
System.out.println("輸入的多行字符串為:\n" + input);
}
}
上述代碼創建(jian)了一(yi)(yi)個(ge)Scanner對(dui)(dui)象(xiang)(xiang)來讀取標準輸(shu)入(ru)流(System.in)。然(ran)后,使(shi)用(yong)一(yi)(yi)個(ge)循(xun)環讀取輸(shu)入(ru)的(de)每(mei)一(yi)(yi)行(xing)字(zi)符(fu)串,直到(dao)遇到(dao)空行(xing)為止(zhi)。每(mei)讀取一(yi)(yi)行(xing)字(zi)符(fu)串,就將其追(zhui)加到(dao)StringBuilder對(dui)(dui)象(xiang)(xiang)中,并在行(xing)末添加換(huan)行(xing)符(fu)。最后,將StringBuilder對(dui)(dui)象(xiang)(xiang)轉換(huan)為字(zi)符(fu)串并輸(shu)出。
這種(zhong)方(fang)式(shi)適用于從控制臺等交互(hu)式(shi)輸(shu)入(ru)源逐行讀取多行字符串。通(tong)過循環逐行讀取的方(fang)式(shi),可(ke)以(yi)實現對輸(shu)入(ru)內容的逐行處理。
其他答案
-
除了使(shi)用(yong)(yong)Scanner類,還可以使(shi)用(yong)(yong)BufferedReader類逐行(xing)讀(du)取多行(xing)字符串(chuan)(chuan)輸入。下面是使(shi)用(yong)(yong)BufferedReader類逐行(xing)讀(du)取多行(xing)字符串(chuan)(chuan)輸入的(de)示例代碼:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class MultiLineStringInputExample {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("請輸入多行字符(fu)串(chuan),以空行結束(shu):");
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null && !line.isEmpty()) {
sb.append(line).append("\n");
}
String input = sb.toString();
System.out.println("輸入的多行(xing)字符串為:\n" + input);
}
}
上述代碼使用(yong)BufferedReader類從標(biao)準輸(shu)入(ru)流(System.in)中讀取字(zi)符數據。然后,使用(yong)一個循(xun)環讀取輸(shu)入(ru)的每一行字(zi)符串(chuan),直(zhi)到(dao)遇(yu)到(dao)空行為(wei)止。每讀取一行字(zi)符串(chuan),就將其追(zhui)加到(dao)StringBuilder對(dui)象(xiang)中,并(bing)在行末添加換(huan)行符。最后,將StringBuilder對(dui)象(xiang)轉換(huan)為(wei)字(zi)符串(chuan)并(bing)輸(shu)出。
與Scanner類(lei)不同,BufferedReader類(lei)提(ti)供了(le)更(geng)底層的字符(fu)流(liu)讀取(qu)功(gong)能,可以逐行讀取(qu)多行字符(fu)串輸入,并且對(dui)于大量(liang)數據或文件讀取(qu)更(geng)高(gao)效(xiao)。
-
除(chu)了(le)使用Java自帶的類,還可以使用第三方(fang)庫來處理(li)多行(xing)字(zi)符串(chuan)輸入。Apache Commons IO庫提供了(le)IOUtils類,其中包含了(le)許多便捷的IO操作方(fang)法。下面是使用Apache Commons IO庫逐行(xing)讀取(qu)多行(xing)字(zi)符串(chuan)輸入的示例代碼:
import org.apache.commons.io.IOUtils;
import java.io.IOException;
public class MultiLineStringInputExample {
public static void main(String[] args) throws IOException {
System.out.println("請輸入多(duo)行(xing)字符串(chuan),以空行(xing)結束:");
String input = IOUtils.toString(System.in);
System.out.println("輸入的多行字符串(chuan)為:\n" + input);
}
}
上述代碼使(shi)用IOUtils.toString()方法從(cong)標準輸(shu)入(ru)流(System.in)中讀取所有字(zi)符(fu)數據,并將其轉換為字(zi)符(fu)串(chuan)。在讀取過程中,用戶可(ke)以輸(shu)入(ru)多行字(zi)符(fu)串(chuan),直到(dao)輸(shu)入(ru)空行為止。最后,將獲取到(dao)的(de)字(zi)符(fu)串(chuan)輸(shu)出。
使(shi)用Apache Commons IO庫可以更方便地進(jin)行多行字符(fu)串輸(shu)入的處理,簡化了讀取和轉換的過程。
無論(lun)是使用Scanner類、BufferedReader類還是第三(san)方庫(ku),都可以實現多(duo)行(xing)(xing)字符(fu)串輸入(ru)的(de)(de)操(cao)作。根據實際需(xu)求和(he)項(xiang)目的(de)(de)要求,選擇適合的(de)(de)方式進行(xing)(xing)處理(li),以便(bian)高效地讀(du)取和(he)處理(li)多(duo)行(xing)(xing)字符(fu)串輸入(ru)。

熱問(wen)標簽 更多>>
大(da)家都在問 更多>>
java虛函數的作用是什么,怎么用
java讀取相對路徑配置文件怎么(me)操...
java靜態代碼塊(kuai)和構造方法(fa)執行順(shun)...