Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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_Function - Fatal编程技术网

在java中,如何用相应的数字替换数字

在java中,如何用相应的数字替换数字,java,function,Java,Function,我必须编写一个java应用程序,从随机数生成器中读取5个介于0和9之间(含9)的数字。将数字(一次一个)传递给函数,该函数将用下表中的相应数字替换每个数字。最后,写下新的加密号码 Digit in Digit out 0 3 1 9 2 4 3 1 4 7 5 6 6 8 7 2 8 0 9

我必须编写一个java应用程序,从随机数生成器中读取5个介于0和9之间(含9)的数字。将数字(一次一个)传递给函数,该函数将用下表中的相应数字替换每个数字。最后,写下新的加密号码

Digit in   Digit out
0            3
1            9
2            4
3            1
4            7
5            6
6            8
7            2
8            0
9            5 
示例:如果输入的数字为:

1 2 3 4 5
输出将是:

9 4 1 7 6
到目前为止,我所拥有的:

`


`您有从0到9的钥匙。Usw值的长度为10的数组。对于不太特殊的情况,您可以使用usw地图

  • 用数组或哈希表表示表。如果数字输入密集,则可以使用数组,否则使用哈希表(键为数字输入,值为相应的数字输出)

  • 一次发送一个数字,并从数组或哈希表中获取相应的数字输出值

  • 合并数字输出并创建整个加密输出

  • 例如:

    import java.util.*;
    
    class JAVAhw10 {
        private static final int[] table = {3,9,4,1,7,6,8,2,0,5};
    
        public static void main(String[] args) {
    
            int a, b, c, d, e;
            a = (int)((Math.random()*100) % (9) + 0);
            b = (int)((Math.random()*100) % (9) + 0);
            c = (int)((Math.random()*100) % (9) + 0);
            d = (int)((Math.random()*100) % (9) + 0);
            e = (int)((Math.random()*100) % (9) + 0);
    
            int DigitIn[] = new int[5];
            int table[] = new int[10];
    
            //filling in the arrays
            DigitIn[0]=a;
            DigitIn[1]=b;
            DigitIn[2]=c;
            DigitIn[3]=d;
            DigitIn[4]=e;
    
            System.out.println("This program ecnrypts 5 random numbers");
            System.out.println(Arrays.toString(DigitIn));
    
            int[] output = encrypt(DigitIn);
            System.out.println(Arrays.toString(output));
    
        }
    
        public static int[] encrypt(int[] input){
           int[] output = new int[input.length];
           for (int i=0; i<input.length; i++){
               output[i] = table[input[i]];
           }
           return output;
        }
    }
    
    import java.util.*;
    类JAVAhw10{
    私有静态final int[]表={3,9,4,1,7,6,8,2,0,5};
    公共静态void main(字符串[]args){
    INTA、b、c、d、e;
    a=(int)((Math.random()*100)%(9)+0);
    b=(int)((Math.random()*100)%(9)+0);
    c=(int)((Math.random()*100)%(9)+0);
    d=(int)((Math.random()*100)%(9)+0);
    e=(int)((Math.random()*100)%(9)+0);
    int DigitIn[]=新int[5];
    int table[]=新的int[10];
    //填充数组
    DigitIn[0]=a;
    DigitIn[1]=b;
    DigitIn[2]=c;
    DigitIn[3]=d;
    DigitIn[4]=e;
    System.out.println(“此程序包含5个随机数”);
    System.out.println(array.toString(DigitIn));
    int[]输出=加密(数字);
    System.out.println(Arrays.toString(output));
    }
    公共静态int[]加密(int[]输入){
    int[]输出=新的int[input.length];
    
    对于(int i=0;i你想让我们为你编码吗?很酷。但是你应该使用IDE或文本编辑器来完成。在这里粘贴作业不会神奇地让代码出现。不,我会发布我自己的代码。这只是我正在寻找的函数或方法问题在于“数字输入”是随机的,我不能写50条if语句来检查它们,然后给出正确的等价项。这就是为什么你必须将表表示为一个数组。数组的键是“数字输入”,对应的值是加密值(“数字输出”)当然。我不知道哈希表,但我使用数组。你能告诉我如何检查随机数并给它们分配相应的数字吗。加密中的公共静态(int what?)我提供了代码。检查它是否有效。@user3857450
    import java.util.*;
    
    class JAVAhw10 {
        private static final int[] table = {3,9,4,1,7,6,8,2,0,5};
    
        public static void main(String[] args) {
    
            int a, b, c, d, e;
            a = (int)((Math.random()*100) % (9) + 0);
            b = (int)((Math.random()*100) % (9) + 0);
            c = (int)((Math.random()*100) % (9) + 0);
            d = (int)((Math.random()*100) % (9) + 0);
            e = (int)((Math.random()*100) % (9) + 0);
    
            int DigitIn[] = new int[5];
            int table[] = new int[10];
    
            //filling in the arrays
            DigitIn[0]=a;
            DigitIn[1]=b;
            DigitIn[2]=c;
            DigitIn[3]=d;
            DigitIn[4]=e;
    
            System.out.println("This program ecnrypts 5 random numbers");
            System.out.println(Arrays.toString(DigitIn));
    
            int[] output = encrypt(DigitIn);
            System.out.println(Arrays.toString(output));
    
        }
    
        public static int[] encrypt(int[] input){
           int[] output = new int[input.length];
           for (int i=0; i<input.length; i++){
               output[i] = table[input[i]];
           }
           return output;
        }
    }