【问题标题】:String into Array and conversion java字符串到数组和转换java
【发布时间】:2013-11-26 04:59:58
【问题描述】:

好的,如果我有一个字符串(可以是任何东西)需要放入一个数组(一个字母一个字母),然后使用这个 switch 语句将该数组的字母转换为数字:

public static char[] convert(char c)
{
    switch(c)
    {
        case 'A' :
        case 'B' :
        case 'C' :
            return new char[]{'2'};
        case 'D' :
        case 'E' :
        case 'F' :
            return new char[]{'3'};
        case 'G' :
        case 'H' :
        case 'I' :
            return new char[]{'4'};
        case 'J' :
        case 'K' :
        case 'L' :
            return new char[]{'5'};
        case 'M' :
        case 'N' :
        case 'O' :
            return new char[]{'6'};
        case 'P' :
        case 'R' :
        case 'S' :
            return new char[]{'7'};
        case 'T' :
        case 'U' :
        case 'V' :
            return new char[]{'8'};
        default:
            return new char[]{'9'};
    }
}

最后在转换之后,我需要将转换后的数组改回字符串。

如果不导入扫描仪,我将如何处理

例如使用 word = words.next(); (字符串为 BBCNEWS)

【问题讨论】:

  • 你会为 BBCNEWS 获得什么输出? 2226397?
  • 你已经成功了。您是否遍历 String 的内容?你能给我们看看吗?
  • 是的 bbcnews 会是 2226397 迭代吗?对不起,我是新手

标签: java arrays string switch-statement


【解决方案1】:
//get the input from standard in or wherever it is
Scanner scanner = new Scanner(System.in);

while(scanner.hasNext()){
    String output = "";
    String word = scanner.nextLine();
    char[] wordChars = word.toCharArray();

    for(char wordChar: wordChars){
        output = output.concat(new String(convert(wordChar)));
    }
    //do something with the output
}

【讨论】:

  • 我有点困惑 for(char wordChar: wordChars) 是什么意思
  • for(char wordChar: wordChars)是Java 5中添加的增强for循环能力的一个例子。这里有一个链接:link这是一个很棒的特性,值得学习;但你也可以用标准 for 循环语法编写它: for(int i=0;i
猜你喜欢
  • 2011-03-25
  • 1970-01-01
  • 2012-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
相关资源
最近更新 更多