【问题标题】:Comparing elements of two arrays in a for loop (java)? [closed]在for循环(java)中比较两个数组的元素? [关闭]
【发布时间】:2014-10-14 21:59:21
【问题描述】:

这似乎是一个非常常见的问题,与数组和 java 中的比较有关,但是我在所有这些问题中都找不到适合我的情况的正确答案。

在这个应用程序中,我正在尝试制作一个“加密”用户给出的文本的程序。例如:用户给出字符'a b c',程序将其返回为'@# $'。但是您可能会注意到我在代码中遇到了一些问题 “波齐塔[i] = j;”。 为什么这段代码不起作用?它不会给我一个错误?或者有没有以“new pozita[i]”之类的方式来做?

好吧,如果有人能帮我解决这个问题,我会很高兴。我被困了一段时间。提前致谢! :)

import java.util.*;
import javax.swing.*;
import java.awt.*;

public class TestPerProgram extends JFrame
{
    char[] alfabeti = {'a','b','c','r','n','t'};
    char[] kodimi = {'@','#','%','*','^','$'};
    int[] pozita;
    //Scanner merr = new Scanner(System.in);

    String fn = JOptionPane.showInputDialog("Jepe tekstin:");
    char[] input = fn.toCharArray();

    void numro()
    {
        for (int i=0; i<=input.length; i++)
        {
            for(int j=0; j<=input.length; j++)
            {
                if(alfabeti[j] == input[i])
                {
                    pozita[i] = j;
                    System.out.println(pozita[i]);
                }
            }
        }

        /*
        for (int k=0; k<=input.length; k++)
        {
            System.out.println(pozita[k]);
        }
        */

    }

    public static void main(String[] args)
    {
        TestPerProgram pjesa = new TestPerProgram();

        pjesa.numro();

    }

}

【问题讨论】:

标签: java arrays encryption char compare


【解决方案1】:

我不是 100% 清楚你的算法应该如何工作,但似乎你可能想要替换该行

pozita[i] = j;

pozita[i] = kodimi[j];

现在,您只是将匹配索引写入pozita,而不是替换字符。

如果我的假设是正确的,你也会改变

int[] pozita;

char[] pozita;

并将其初始化为长度为 input.Length 的数组。

【讨论】:

    【解决方案2】:

    您从未实例化数组pozita。实例化pozita 后,您可以开始覆盖pozita 中的值。您将 j 分配给 posita[i]posita 为空。

    执行以下操作:

    int posita[] = new int[20]

    如果您不想设置大小,则只需使用数组列表。

    【讨论】:

      【解决方案3】:

      您尚未请求为变量pozita 分配内存或以其他方式对其进行实例化。您当前使用它的方式是,在从用户那里检索到您的输入后,您会在某个时候写 pozita[] = new int[input.length];

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-10
        • 1970-01-01
        • 2014-12-17
        • 2020-02-22
        • 1970-01-01
        • 2022-01-19
        • 2020-02-16
        相关资源
        最近更新 更多