gpt4 book ai didi

java - 为数组赋值

转载 作者:行者123 更新时间:2023-12-02 04:58:19 26 4
gpt4 key购买 nike

我有一个关于将值签名到数组的问题。我复制了下面的代码(我是新手)编译和执行代码后,我只能看到数组中的最后一个值。为什么?这是一个非常基本的密码

import java.util.Arrays;
import java.util.Scanner;

public class CipherManager {

String message;
int key;
int basic = -72;
int array[];

public void cipher() {
Scanner sc = new Scanner(System.in);
System.out.println("Type a text you want to cipher");
message = sc.nextLine();
System.out.println("Write down a number key");
while (!sc.hasNextInt()) {

if (sc.hasNextInt()) {
key = sc.nextInt();
sc.nextLine();
} else {
System.out.println("Error, enter a number ");
sc.next();
}

}

for (int i = 0; i < message.length(); i++) {
System.out.print(message.charAt(i));
array = new int[message.length()];
int litera = message.charAt(i) + key + basic;
array[i] = letter;

}

System.out.println(Arrays.toString(array));
}
}

最佳答案

我假设您当前的代码是(您的 array 数组从未初始化,并且由于您没有得到 NullPointerException,因此您可能没有使用它) :

         for (int i = 0; i < wiadomosc.length(); i++) {
System.out.print(message.charAt(i));
tablica=new int[message.length()];
int litera = message.charAt(i)+key + basic;
tablica[i]=letter;
}

应该是:

         tablica=new int[message.length()];     
for (int i = 0; i < wiadomosc.length(); i++) {
System.out.print(message.charAt(i));
int litera = message.charAt(i)+key + basic;
tablica[i]=letter;
}

tablica 数组只能在循环之前初始化一次。在每次迭代的循环内对其进行初始化会使之前分配给(之前的数组)的值无法访问。

关于java - 为数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28543572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com