从扫描仪读取字符串并将其转换为字符数组

时间:2016-01-26 03:42:39

标签: java arrays java.util.scanner

这是我在java中编写的代码,我仍然是java的初学者,所以如果这是一个noob错误请纠正它并提供替代解决方案来读取字符串并将其转换为char数组

import java.util.Scanner;
import java.io.*;

class TestClass {
public static void main(String args[] ) throws Exception {
   Scanner s = new Scanner(System.in);
   String str = s.nextLine();
   char[] c = str.toCharArray(str);
   int x=0,y=0;
   for(int i=0;i<=str.length;i++)
   {
      if(c[i]=='L')
        {
            x=x+1;
        }
    else if(c[i]=='R')
        {
            x=x-1;
        }
        else if(c[i]=='U')
        {
            y=y-1;
        }
        else if(c[i]=='D')
        {
            y=y-1;
        }
   }
    System.out.println(x+""+y);
}
}

我收到以下错误

  

10:错误:类String中的方法toCharArray无法应用于   给定类型;

     

无参数字符串实际和正式参数列表的长度不同   12:错误:找不到符号

     

String类型的可变长度变量str

3 个答案:

答案 0 :(得分:2)

你把一个参数放在一个不带任何函数的函数中:

char[] c = str.toCharArray(str);

只需使用

char[] c = str.toCharArray();

有关详细信息,请参阅String documentation

答案 1 :(得分:0)

方法str.toCharArray(str);不存在。 toCharArray不参数。替换为str.toCharArray()

答案 2 :(得分:0)

结合答案(我不赞成这些)

你把一个参数放在一个不带任何函数的函数中:

char[] c = str.toCharArray(str);

只需使用

char[] c = str.toCharArray();

-by Arc676

还要注意

它的str.length()不是str.length

-by TomN

两者都是正确答案

另外,我注意到你(我确实认为这些)

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

它应该是&#39;&lt;&#;;而不是&#39;&lt; =&#39;避免出界异常

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

另外,只是一个提示:

System.out.println(x+""+y);

我认为你错过了在这些引号中添加空格。