【问题标题】:reading a string from scanner and converting it to character array从扫描仪读取字符串并将其转换为字符数组
【发布时间】:2016-01-26 03:42:38
【问题描述】:

这是我用java编写的代码,我还是java的初学者,所以如果这是一个菜鸟错误,请纠正它,并提供读取字符串并将其转换为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

【问题讨论】:

  • 这是 str.length() 不是 str.length

标签: java arrays java.util.scanner


【解决方案1】:

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

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

随便用

char[] c = str.toCharArray();

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      结合答案(我不认为这些)

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

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

      随便用

      char[] c = str.toCharArray();
      

      -by Arc676

      还要注意

      这是 str.length() 不是 str.length

      -作者 TomN

      都是正确答案

      另外,我注意到你有(这些都是我的功劳)

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

      应该是 '

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

      另外,只是一个提示:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 2012-08-24
        • 1970-01-01
        相关资源
        最近更新 更多