如何在Netbeans的运行部分输入新行?

时间:2018-04-04 20:54:41

标签: java netbeans

我编写了一个代码,将所有新行字符转换为逗号。如果字符为'\n',则会将其更改为','。但我在输入样本数据时遇到问题。我认为Netbeans将空格作为新行字符。在运行部分按Enter键输入我写的数据而不是创建新行。我该怎么办?

我也愿意接受有关我的代码的建议。

这是代码:

package newlinetocomma;

import java.util.Scanner;

/**
*
* @author sametsahin
*/
public class NewLineToComma {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    System.out.println("Enter a text: ");
    String textWithNewLines = scanner.next();

    char[] textWithNewLinesAsArray = textWithNewLines.toCharArray();

    for (int i = 0; i < textWithNewLinesAsArray.length; i++) {

        if (textWithNewLinesAsArray[i] == '\n') {

            textWithNewLinesAsArray[i] = ',';

        }

    }

    for (int i = 0; i < textWithNewLinesAsArray.length; i++) {

        System.out.print(textWithNewLinesAsArray[i]);

    }

  }

}

1 个答案:

答案 0 :(得分:0)

如果您想输入多行文字,可以使用useDelimiter(String pattern)功能。您可以拆分特定的char序列,您将(很可能)永远不会输入,如Ctrl + D(Unix)Ctrl + Z(Windows)。作为分隔符,您可以匹配[JsonConstructor]

end of file

请记住,在扫描仪识别之前,您必须提交每一行(按回车键)。按退出快捷方式的行不会添加到public static void main(String[] args) { Scanner scanner = new Scanner(System.in).useDelimiter("\\Z"); String text = scanner.next().trim().replaceAll("\n",",").replaceAll("\r",""); System.out.println(text); } 的结果中。

注意:在Windows上,您还必须手动提交Ctrl + Z信号。