gpt4 book ai didi

java - 在Java中,为什么char ch与String命令不一致?

转载 作者:行者123 更新时间:2023-12-01 07:56:57 27 4
gpt4 key购买 nike

当我为 switch 语句编写代码时,我声明了它用于接收输入以及新的数组类,

    ArrayList list = new ArrayList();

Scanner s = new Scanner(System.in);

printCommands();

while(s.hasNext())
{
String command = s.next();
char ch = command.charAt(0);

但是当我在 while 循环中时,对于情况“a”(将整数添加到数组),这一行不同意,因为 ch 被声明为 char 和 eclipse建议将其切换为字符串,但仍然会导致错误。

switch(command)
{
case "c":
list.clear();
return;

case "a":
ch = s.next(); //s.next() gets the error due to ch?
list.add(ch);

最佳答案

char 不是 Stringscan.next() 返回一个String。如果您想获取新输入并将新输入中的第一个字符用作 ch,我建议使用:

char ch = scan.next().charAt(0);

但是,由于在您的问题中您声明要将整数添加到数组中,因此我建议使用

int intToAdd = scan.nextInt();

例如:这应该适合你

ArrayList list = new ArrayList();

Scanner s = new Scanner(System.in);

while (s.hasNext()) {
String command = s.next();
char ch = command.charAt(0);
switch (command) {
case "c":
list.clear();
return;
case "a":
ch = s.next().charAt(0); // no more error
list.add(ch);
break;
case "e":
// this will print all of the array just for testing purposes
System.out.println(list.toString());
break;
}
}

关于java - 在Java中,为什么char ch与String命令不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28952856/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com