如何通过用户输入将字符输入到数组中?

时间:2015-04-24 04:42:34

标签: java arrays char user-input

这基本上就是我所拥有的,一切正常,但由于某种原因,我无法将字符输入到数组中。

如果您能向我解释为什么它不起作用,我们将不胜感激。 这样做的目的是将一系列字符输入到数组中,并计算其中存在的''(间隙)数。

粗体部分是我目前遇到问题的地方。

>>> pkt = Ether() / Dot1Q() / IP() / TCP()
>>> payload = pkt.getlayer(1).payload
>>> payload
<IP  frag=0 proto=tcp |<TCP  |>>
>>> pkt.getlayer(1).remove_payload()
>>> pkt
<Ether  type=n_802_1Q |<Dot1Q  |>>
>>> newPkt = pkt / Dot1Q() / payload
>>> newPkt
<Ether  type=n_802_1Q |<Dot1Q  type=n_802_1Q |<Dot1Q  type=IPv4 |<IP  frag=0 proto=tcp |<TCP  |>>>>>
>>> 

2 个答案:

答案 0 :(得分:0)

问题是toCharArray会返回一个数组,而您无法将数组放入数组中。试试这个:

Char[] test = a.next().toCharArray();

答案 1 :(得分:0)

当您强制运行代码时,会出现这样的错误堆栈

  

线程“main”中的异常java.lang.RuntimeException:Uncompilable   源代码 - 不兼容的类型:char []无法转换为char     在test4c.Test4c.main(Test4c.java:26)Java结果:1

很明显为什么你会收到这样的消息?

您尝试在char[] test索引中插入一个char数组,接受char而不是char数组

这就是你所拥有的:

for(int i = 0; i<size; i++){
      test[i] = a.next().toCharArray();
    }

根据您所拥有的内容,我认为您只想将a.next()转换为已定义的test字符数组

char[] test = new char[size];

你可以改变你拥有的东西

test = a.next().toCharArray();