【问题标题】:how to fill a 2d array with chars of 2 string如何用 2 个字符串的字符填充 2d 数组
【发布时间】:2013-12-12 12:18:01
【问题描述】:

我的主要目的是创造类似的东西

这是我的代码

import java.io.*;
import java.util.Arrays;

import java.util.Scanner;

public class EditDistance {

    public static void main(String[] args) {
        int N = 0;
        int M = 0;
        // char [][] opt = new char [N+1][M+1];

        java.io.File file = new java.io.File("gene57.txt");
        try {
            Scanner input = new Scanner(file);
            while (input.hasNext()) {
                String num = input.nextLine();

                String[] parts = num.split(" ");
                String part1 = parts[0];
                N = part1.length();

                String part2 = parts[1];
                M = part2.length();

                System.out.println(part1);
                System.out.println("Number of nucleobase of Sequence 1 is=" + N);

                System.out.println(part2);
                System.out.println("Number of nucleobase of Sequence 2 is=" + M);
            }
        }

        catch (FileNotFoundException e) {
            System.err.format("File does not exist\n");
        }
        // x= n+1 , y=m+
    }
}

我目前从我的 txt 文件中读取 2 个 dna 序列并创建 2 个具有 2 个序列(M 和 N)的字符串,因此我必须创建一个 M+1 和 N+1 矩阵才能执行我的动态规划算法。

现在我的问题是这个

如何创建这个二维数组? 我的第一个维度应该用我的第一个字符串(part1)的字符创建,第二个维度应该用我的第二个字符串(part2)

我怎样才能做到这一点,然后像图片中一样打印出来。

谢谢

【问题讨论】:

  • 你问的是创建(M+1)X(N+1)个空矩阵的语法吗?
  • 好的,我们知道您认为您必须做什么,但我们不知道您有什么问题。您标题中的问题不够具体。请提出更具体的问题,例如输入和预期输出。
  • 我已编辑。感谢您的 cmets

标签: java dynamic-programming multidimensional-array


【解决方案1】:

在 Java 中,您可以在代码开始执行后创建一个数组,因此您必须换行:

char [][] opt = new char [N+1][M+1];

分为两部分,第一部分现在只是为了声明:

char [][] opt;

在你得到 M 的长度之后,第二部分就开始了:

...
M = part2.length();
opt = new char [N+1][M+1];

干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多