推薦答案
要在Java中實(shí)現(xiàn)多行字符串輸入,可以使用Scanner類逐行讀取輸入。下面是使用Scanner類逐行讀取多行字符串輸入的示例代碼:
import java.util.Scanner;
public class MultiLineStringInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入多行字符串,以空行結(jié)束:");
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);
}
}
上述代碼創(chuàng)建了一個Scanner對象來讀取標(biāo)準(zhǔn)輸入流(System.in)。然后,使用一個循環(huán)讀取輸入的每一行字符串,直到遇到空行為止。每讀取一行字符串,就將其追加到StringBuilder對象中,并在行末添加換行符。最后,將StringBuilder對象轉(zhuǎn)換為字符串并輸出。
這種方式適用于從控制臺等交互式輸入源逐行讀取多行字符串。通過循環(huán)逐行讀取的方式,可以實(shí)現(xiàn)對輸入內(nèi)容的逐行處理。
其他答案
-
除了使用Scanner類,還可以使用BufferedReader類逐行讀取多行字符串輸入。下面是使用BufferedReader類逐行讀取多行字符串輸入的示例代碼:
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("請輸入多行字符串,以空行結(jié)束:");
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("輸入的多行字符串為:\n" + input);
}
}
上述代碼使用BufferedReader類從標(biāo)準(zhǔn)輸入流(System.in)中讀取字符數(shù)據(jù)。然后,使用一個循環(huán)讀取輸入的每一行字符串,直到遇到空行為止。每讀取一行字符串,就將其追加到StringBuilder對象中,并在行末添加換行符。最后,將StringBuilder對象轉(zhuǎn)換為字符串并輸出。
與Scanner類不同,BufferedReader類提供了更底層的字符流讀取功能,可以逐行讀取多行字符串輸入,并且對于大量數(shù)據(jù)或文件讀取更高效。
-
除了使用Java自帶的類,還可以使用第三方庫來處理多行字符串輸入。Apache Commons IO庫提供了IOUtils類,其中包含了許多便捷的IO操作方法。下面是使用Apache Commons IO庫逐行讀取多行字符串輸入的示例代碼:
import org.apache.commons.io.IOUtils;
import java.io.IOException;
public class MultiLineStringInputExample {
public static void main(String[] args) throws IOException {
System.out.println("請輸入多行字符串,以空行結(jié)束:");
String input = IOUtils.toString(System.in);
System.out.println("輸入的多行字符串為:\n" + input);
}
}
上述代碼使用IOUtils.toString()方法從標(biāo)準(zhǔn)輸入流(System.in)中讀取所有字符數(shù)據(jù),并將其轉(zhuǎn)換為字符串。在讀取過程中,用戶可以輸入多行字符串,直到輸入空行為止。最后,將獲取到的字符串輸出。
使用Apache Commons IO庫可以更方便地進(jìn)行多行字符串輸入的處理,簡化了讀取和轉(zhuǎn)換的過程。
無論是使用Scanner類、BufferedReader類還是第三方庫,都可以實(shí)現(xiàn)多行字符串輸入的操作。根據(jù)實(shí)際需求和項目的要求,選擇適合的方式進(jìn)行處理,以便高效地讀取和處理多行字符串輸入。