java - 字符串数组串联的问题

标签 java arrays string concatenation

我正在尝试连接数组中的所有字符串。例如,我希望 ["a","b","c"] 变为 "abc"。这是我的代码:

import java.util.Scanner;
import java.util.ArrayList;

public class Laggaihop 
{
    private static Scanner scanner = new Scanner( System.in );
    public static void main(String[] args)
    {
        System.out.print("Ange antal ord: ");
        String input = scanner.nextLine();
        int antal = Integer.parseInt(input);
        String[] ordlista;
        ordlista = new String[antal];
        for(int i = 0; i < antal; i++){
            System.out.print("Ange ord: ");
            String nyttelement = scanner.nextLine();
            ordlista[i] = nyttelement;
        }
        String resultat;
        for(int i = 0; i < antal; i++){
            resultat = resultat+ordlista[i];
        }


    }

我收到以下错误:

Laggaihop.java:21: error: variable resultat might not have been initialized
            resultat = resultat+ordlista[i];

这是为什么呢?我初始化了String resultat;

行中的变量

谢谢。

最佳答案

不,您已经声明了该变量。 初始化意味着您已经给它一个初始值。您可以通过将该行替换为:

String resultat = "";

或者您可以分两个单独的步骤来完成:

String resultat; //declaration
resultat = "";   //initializiation

据我所知,Java仅自动初始化字段。对于局部变量,它的自动化程度较低。可能是因为这被认为容易出错。

关于java - 字符串数组串联的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29323469/

相关文章:

java - 在类路径中使用通配符调用 java 失败

使用链表创建堆栈

python - 如何在删除列表中单词之间的连字符时克服不一致

java - 在 Java 文本区域中格式化输出

java - 我可以通过转置二维数组来优化我的 java 程序吗?

java - 从读取文件中分离结果的更好方法?

java - 是什么让 String 不可变?

java - 比较并一次从两个字符串中删除特定字符并显示剩余的字符串

java - 如何完全替换一个数字而不中间修改?

java - 删除 String 中的 0 字节 (UTF-8) 字符