我制作了以下简单的程序,将普通引号改为TEX引号
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class TexQuotes {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(System.out);
String lines;
boolean first = true;
while ((lines = br.readLine()) != null) {
for (char c: lines.toCharArray())
if (c == '"') {
pw.print(first ? "``" : "''");
first = !first;
}
else pw.print(c);
pw.println();
}
br.close();
pw.flush();
}
}
问题是,当试图在Eclipse控制台中输入一些东西并按回车键时,没有任何东西输出回来。代码在旧版本的Eclipse上运行良好,但是Eclipse现在不接受回车键作为空指示器吗?
注意:有时按下Ctrl Z键时,我会得到一个输出,但大多数情况下它也不起作用。任何其他Ctrl键组合都不起作用。
编辑:例如,当我输入以下语句作为输入时:
"So there are seven now", said John, "and we need to figure out which one."
我预计产出:
``So there are seven now'', said John, ``and we need to figure out which one.''
问题是,我从未退出while循环,因此输出也从未刷新,因为while循环在输入空字符之前接受输入。问题当然是,我不知道Eclipse中如何输入空字符。
import java.util.Scanner;
public class TexQuotes {
public static void main(String[] args) {
Scanner stdin = new Scanner(System.in);
String line;
while (stdin.hasNextLine()) {
line = stdin.nextLine();
boolean start = true;
while (line.indexOf('"') >= 0) {
if (start) {
line = line.replaceFirst("\"", "``");
start = false;
}
else {
line = line.replaceFirst("\"", "''");
start = true;
}
}
System.out.println(line);
}
System.out.println(" *** TexQuotes.main() completed ***");
}
}
通过输入文件结尾,即Windows上的Ctrl Z,可以终止while
循环
在输入文件结尾之前,请输入一行文本,然后按enter键
按ENTER键后,输入文本中的所有双引号字符交替替换为文本引号。
使用BufferedReader
和PrintWriter
...
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);
PrintWriter pw = new PrintWriter(System.out);
try {
String line = br.readLine();
while (line != null) {
boolean start = true;
while (line.indexOf('"') >= 0) {
if (start) {
line = line.replaceFirst("\"", "``");
start = false;
}
else {
line = line.replaceFirst("\"", "''");
start = true;
}
}
pw.println(line);
pw.flush();
line = br.readLine();
}
}
catch (IOException xIo) {
xIo.printStackTrace();
}
红线位于“打开导航抽屉”和“关闭导航抽屉”下 这张图片显示了这个问题
问题内容: 如何检查字符串是否不为null也不为空? 问题答案: 那呢? 确保&&按此顺序使用的部分,因为如果的第一部分&&失败,java将不会继续评估第二部分,因此确保你不会从为null的情况下得到null指针异常。 请注意,仅从Java SE 1.6起可用。你必须检查以前的版本。 也要忽略空格: (由于可以简化为也可以测试其他空白) 包裹在一个方便的功能中: 成为:
Spring允许在中定义。 我已经在那里为HTTP 400、404、405等定义了许多其他异常处理程序,。。。然而,HTTP 406的ExceptionHandler(不可接受)似乎不起作用。处理程序被触发,我在日志中对此进行了检查,但没有使用结果。 我的目标是返回一个带有JSON主体的HTTP 406。 变型1 变体2 但是我总是从Tomcat得到类似的超文本标记语言响应: HTTP状态406-
问题内容: 在Java 8中,这有效: 但这不是: Maps允许使用null键,并且List.class.getSuperclass()返回null。但是Collectors.groupingBy在Collectors.java的第907行发出了NPE: 如果我创建自己的收集器,则此行会更改为: 我的问题是: 1)Collectors.groupingBy的Javadoc并未表示不应映射空键。是否
我需要一个scanf()调用来接受空格(没有制表符或换行符,只有空格符号)。 我从这个问题的答案中得到了这个格式说明符: 如何使用扫描允许空间输入 虽然它可以很好地接受第一个输入序列,但它在第一个空白字符所在的位置终止,并使用空字符。发生什么事?我是否使用了错误的格式? 我应该说,我在这里使用scanf()是因为安全不是一个问题;我是唯一一个使用这个特殊程序的人,输入的格式是严格的。
本文向大家介绍检查字符串在Java中是否不为空(“”)并且不为null,包括了检查字符串在Java中是否不为空(“”)并且不为null的使用技巧和注意事项,需要的朋友参考一下 假设我们有以下字符串- 现在让我们检查字符串是否为null或不为空。 示例 输出结果