Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从类中获取变量的值?_Java - Fatal编程技术网

Java 如何从类中获取变量的值?

Java 如何从类中获取变量的值?,java,Java,所以我对java还不熟悉,所以我决定搞点乱,我编写了一个类,它将字符串转换成由字符串中字符的ascii值组成的数组,但我不知道如何获取变量I的值。我知道使用列表更容易,但我真的很好奇如何让它起作用。代码如下: public class ToAscii { static int[] toAscii(String txt){ int[] array = new int[1000]; int i = 0; char[] ascii1 = txt

所以我对java还不熟悉,所以我决定搞点乱,我编写了一个类,它将字符串转换成由字符串中字符的ascii值组成的数组,但我不知道如何获取变量I的值。我知道使用列表更容易,但我真的很好奇如何让它起作用。代码如下:

public class ToAscii {
    static int[] toAscii(String txt){
        int[] array = new int[1000];
        int i = 0;

        char[] ascii1 = txt.toCharArray();

        for(char ch:ascii1){
            array[i] = ch -1;
            i++;
        }

        return array;
    }
}
txt.codePoints().toArray()
字符串
转换为代码点(即字符数)

例如:

import java.util.Arrays;

public class Main {
    public static void main(final String[] args) {
        System.out.println(Arrays.toString("abc".codePoints().toArray()));
    }
}
将打印:

[97, 98, 99]

其中97对应于“a”,98对应于“b”,99对应于“c”。

您的代码的问题是
ch-1
,它应该是
ch

您应该按照以下步骤进行操作:

import java.util.Arrays;

public class ToAscii {
    public static void main(String[] args) {
        // Test
        System.out.println(Arrays.toString(toAscii("aBc")));
    }
    static int[] toAscii(String txt){
        int[] array = new int[txt.length()];
        int i = 0;

        char[] ascii1 = txt.toCharArray();

        for(char ch:ascii1){
            array[i] = ch;
            i++;
        }
        return array;
    }
}
import java.util.Arrays;

public class ToAscii {
    public static void main(String[] args) {
        // Test
        System.out.println(Arrays.toString(toAscii("aBc")));
    }

    static int[] toAscii(String txt) {
        int[] array = new int[txt.length()];
        char[] ascii1 = txt.toCharArray();
        for (int i = 0; i < array.length; i++) {
            array[i] = ascii1[i];
        }
        return array;
    }
}
输出:

[97, 66, 99]
[97, 66, 99]
或者,您可以按如下方式执行:

import java.util.Arrays;

public class ToAscii {
    public static void main(String[] args) {
        // Test
        System.out.println(Arrays.toString(toAscii("aBc")));
    }
    static int[] toAscii(String txt){
        int[] array = new int[txt.length()];
        int i = 0;

        char[] ascii1 = txt.toCharArray();

        for(char ch:ascii1){
            array[i] = ch;
            i++;
        }
        return array;
    }
}
import java.util.Arrays;

public class ToAscii {
    public static void main(String[] args) {
        // Test
        System.out.println(Arrays.toString(toAscii("aBc")));
    }

    static int[] toAscii(String txt) {
        int[] array = new int[txt.length()];
        char[] ascii1 = txt.toCharArray();
        for (int i = 0; i < array.length; i++) {
            array[i] = ascii1[i];
        }
        return array;
    }
}

“get the variable i”是什么意思?get it's value很抱歉,我建议阅读有关方法和返回类型的教程,例如,如果我正确理解您的要求,您希望检查变量
数组
的值。我建议您使用调试。任何现代IDE都支持逐行调试代码,您可以随时检查每个变量的状态。如果你在谷歌上搜索IDE的名称和“调试”一词,你会发现很多教程。@JoakimDanielson我想这就是如何从codePoints()生成的数组中获取第I个int。toArray()?@Alex很高兴这对你有所帮助。您也可以使用获取位置“i”处的字符,然后将其强制转换为int。但是这种方法(使用charAt)不会对所有unicode字符都有效。啊,是的,谢谢,但是我需要i的值来在我的主方法中通过数组进行写入,如果我使用array.length,它将只为未使用的索引输出0。