编程新手,如果这是个愚蠢的问题,我深表歉意。
当使用Scanner类时,我看不出是否有获取单个字符作为输入的选项。例如
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String a = input.nextLine();
}
}
上面的代码允许我将下一行拉入字符串,然后可以使用while或if语句使用.length()对其进行验证1,然后根据需要存储到字符中。
但是,有没有一种方法可以提取单个字符,而不是使用字符串然后进行验证?如果没有,有人能解释为什么这是不允许的吗?我认为这可能是由于类或对象与基本类型,但我不确定。
将分隔符设置为一个字符:
Scanner input = new Scanner(System.in).useDelimiter("(?<=.)");
String c = input.next(); // one char
你可以使用系统。在里面read()
而不是扫描仪
char input = (char) System.in.read();
您也可以使用Scanner
,执行以下操作:
Scanner scanner = new Scanner(System.in);
char input = scanner.next().charAt(0);
对于使用String
而不是char,我更喜欢转换为String
,因为使用regex,就像在指定分隔符的答案中使用的一样,会使代码更难阅读:
Scanner scanner = new Scanner(System.in);
String input = String.valueOf(input.next().charAt(0));
这是少花哨比:
new Scanner(System.in).useDelimiter("(?<=.)");
但我想对于一个新手来说,我的任何提议都更容易理解。
问题内容: 我希望使用番石榴将其连接成一个字符串,但列表中的每个字符串周围都有环绕的字符串。所以我想列出一个字符串列表: 并生成此字符串: 我看到的示例似乎是生成3个以逗号分隔的名称,但我希望每个字符串都包含一些额外的字符串(每次都相同)。 我希望我在这里足够清楚。谢谢你的帮助。 问题答案: 为此,首先要进行转换:
问题内容: 使用PMD,如果要忽略特定的警告,则可以使该行被忽略。 FindBugs有类似的东西吗? 问题答案: FindBugs的初始方法涉及XML配置文件(也称为过滤器)。这确实不如PMD解决方案方便,但是FindBugs只能在字节码上工作,而不能在源代码上工作,因此注释显然不是一个选择。例: 但是,为解决此问题,FindBugs稍后引入了另一个基于注释的解决方案(请参阅参考资料),您可以在类
问题内容: 当然,在Java中。我正在编写程序并在Windows环境下运行它,但是我需要以Unix格式完成输出(.csv)。任何简单的解决方案?谢谢! 问题答案: 注意:如评论中所述,下面给出的方法在JDK 9+中是无效的。 使用James H.的答案中的方法。 “ Unix格式”是指使用“ \ n”作为行终止符而不是“ \ r \ n”吗?在创建PrintWriter之前,只需设置系统属性即可。
如标题所示。我想我记得那是胶水作业生成单个csv输出文件而不是多个输出文件的某种选项,这是特定于某些胶水配置的,独立于任何apache火花相关功能。实现这一点需要对pyspark文件进行哪些设置更改?提前感谢日志
对于阵列,我们可以使用: 有没有类似的方法可以在一个步骤中初始化列表?
我想写这样的东西: 默认情况下,[process]方法不能这样做。我可以从文档中了解到,我需要一个特殊的模板解析器: 为了执行模板,将使用过程(String,IContext)方法:最终String结果=templateEngine.process("my模板",ctx);"my模板"String参数是模板名称,它将与模板的物理/逻辑位置相关以在模板解析器处配置自身的方式/s。 有人知道如何解决我