当前位置: 首页 > 知识库问答 >
问题:

在java中,如何用不同的字符填充字符数组?

梁丘兴腾
2023-03-14


我只找到了如何填充一个字符数组相同的字符,如:

    char[] charArray = new char[5];
    char charValue = 'A';
    Arrays.fill(charArray, charValue);
    System.out.println("The char array content is: " + Arrays.toString(charArray));
    
   // output: The char array content is: [A, A, A, A, A]

我尝试的是:

    char[] abc = new char[5];
    
    Scanner sc = new Scanner(System.in);
    
    String s;
    char c;
    
    for (int i = 0; i < abc.length; i++) {
        s = sc.next();
        if (s.length() == 1) {
            c = s.charAt(0);
            System.out.println("for position " + i + " the character is: " + c);
            Arrays.fill(abc[i], c);
            System.out.println("so we get the current array " + Arrays.toString(abc));
        } else {
            System.err.println("pls give just one charcter");
            break;
        }
    }

我总是得到错误,将abc-数组从char[]更改为long[]。\

编辑:
我想要输出的是,我在数组的最后给出5个字符(例如a、b、c、d、e)

abc[] = {a, b, c, d, e}

提前感谢:)

共有2个答案

雍嘉勋
2023-03-14

你的助手给出的答案似乎是正确的。

不幸的是,即使是代码的固定版本也会因大多数字符而失败。自Java2以来,char类型基本上已被打破,而自Java5以来,它的传统已被打破。改用代码点整数。

类似于这种未经测试的代码。

int limit = 5 ;
StringBuilder sb = new StringBuilder() ;

Scanner sc = new Scanner(System.in);

String input;
int codePoint;

for ( int i = 0 ; i < limit ; i++ ) {
    input = sc.next();
    int[] codePoints = input.codePoints().toArray() ;
    if ( codePoints.length == 1 ) {
        codePoint = codePoints[ 0 ] ;
        System.out.println( "for position " + i + " the input character is: " + Character.toString( codePoint ) );
        sb.appendCodePoint( codePoint );
        System.out.println("so we get the current array " + sb.toString() );
    } else {
        System.err.println("pls give just one charcter");
        break;
    }
}
郦祺
2023-03-14

你可以使用:

Arrays.fill(abc, c);

或者只是:

abc[i]=c;

如果你只想填充数组的指定位置

 类似资料:
  • 问题内容: 有一些简单的方法可以在Java中填充字符串吗? 似乎应该在类似StringUtil的API中使用某些东西,但是我找不到能做到这一点的任何东西。 问题答案: 有几种方法:leftPad,[rightPad](https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/Str

  • 假设我有一个整数数组,如和一个简单的字符串,如。我如何循环通过数组和填充每一个值。假设是这样的: 输出: 到目前为止,我已经尝试了以下内容: 但是,它在print语句中给出了。解决这个问题最好的方法是什么?

  • 我如何用整数或字符串填充我的GridPane?我目前正在数独GUI上工作,无法使其工作。我已经知道不可能用Java FX标签来显示它,因为它是Java.FX.scene.Control类。我需要以某种方式将数独值转移到GridPane中相应的坐标。

  • 我正在创建一个战舰游戏应用程序来学习OOP,Java。我想显示一个“空海”供玩家参考放置他们的舰队。下面是我的游戏板课的开始: 我把这叫做主要的:

  • 问题内容: 但是我没有得到如何用零填充字符串。 输入:“ 129018”输出:“ 0000129018” 总输出长度应为TEN。 问题答案: 如果你的字符串仅包含数字,则可以将其设为整数,然后进行填充:

  • 您知道如何用流中的单词填充数组吗?这是我目前所能做到的: 所以它看起来像{{1,2,3},{4,5,6},{7,8,9},…}