| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
大量收QQ微信精准粉/交友粉,非诚勿扰千里之行 始于足下
共有 746 人关注过本帖
标题:哪位大佬,求解答一下这个java代码
只看楼主 加入收藏
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
结帖率:0
  已结贴   问题点数:20  回复次数:14   
哪位大佬,求解答一下这个java代码
1.数字加密。
输入1个四位数,将其加密后输出。加密方法是将该数每一位上的数字加9,然后除以10取余,作为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例如:
输入:
1257
输出:
The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
2018-05-22 17:40
疯狂的小a
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:22
帖 子:378
专家分:1655
注 册:2018-2-6
  得分:20 
程序代码:
package com.xiaoa.test;
import static java.lang.System.out;
import java.util.Scanner;

/**
 *
 * 输入1个四位数,将其加密后输出。加密方法是将该数每一位上的数字加9,然后除以10取余,作为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
 * 例如: 输入: 1257 输出: The encrypted number is
 * 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
 
*/
public class Demo {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        out.println("请输入一个四位数:");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        // 判断数字是否是四位数
        Boolean flag = test(num);

        // 将各个位上的数字加密
        if (!flag) {
            out.println("数字不符合要求!");
            return;
        } else {
            // 将数字拆分
            String str = num + "";
            String[] strs = str.split("");
            // 创建一个数组
            int[] arr = new int[strs.length];
            // 遍历数组
            for (int i = 0; i < arr.length; i++) {
                int encrypt = encrypt(strs[i]);
                arr[i] = encrypt;
            }
            // 将加密后的数组arr,调整顺序
            int[] arr2 = change(arr);
            // 将数组转换成数字输出
            StringBuffer sb = new StringBuffer();
            for (int i : arr2) {
                sb.append(i + "");
            }

            String string = sb.toString();
            int result = Integer.parseInt(string);
            out.println("The encrypted number is " + result);

        }

    }
   
    //交换数组元素位置
    private static int[] change(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            if (i == 0) {
                int temp = arr[0];
                arr[0] = arr[2];
                arr[2] = temp;
            }
            if (i == 1) {
                int temp = arr[1];
                arr[1] = arr[3];
                arr[3] = temp;
            }
        }

        return arr;
    }
   
    //加密
    private static int encrypt(String str) {
        int num = Integer.parseInt(str);
        int a = num + 9;
        int b = a % 10;
        return b;
    }

    // 测试是否是四位数
    private static Boolean test(int num) {
        Boolean flag = false;
        if (num >= 1000 && num <= 9999) {
            flag = true;
        }
        return flag;
    }
}

假如人生没有梦想,和咸鱼有什么区别!
2018-05-22 19:15
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
回复 2楼 疯狂的小a
感谢大佬
2018-05-22 19:57
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
有蜘蛛,蜻蜓,蝉三种动物共18只,共有腿118条,翅膀20对(蜘蛛8条腿;蜻蜓6条腿,2对翅膀;蝉6条腿,1对翅膀),三种动物各几只?大佬,你看这个如何写呢?
2018-05-22 20:01
疯狂的小a
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:22
帖 子:378
专家分:1655
注 册:2018-2-6
  得分:0 
你是在做作业吗

假如人生没有梦想,和咸鱼有什么区别!
2018-05-22 20:03
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
对,大学java实训课,我头皮发麻
2018-05-22 20:06
疯狂的小a
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:22
帖 子:378
专家分:1655
注 册:2018-2-6
  得分:0 
程序代码:
package com.xiaoa.test;

/**
 * 有蜘蛛,蜻蜓,蝉三种动物共18只,共有腿118条,翅膀20对(蜘蛛8条腿;蜻蜓6条腿,2对翅膀;蝉6条腿,1对翅膀),三种动物各几只?大佬,你看这个如何写呢?
 *
 * 分析: 1.假设有i,j,k只蜘蛛,蜻蜓,蝉
 
*/
public class Demo2 {
    public static void main(String[] args) {
        for (int i = 1; i <= 18; i++) {
            for (int j = 1; j <= 18; j++) {
                for (int k = 1; k <= 18; k++) {
                    int legNum = 8 * i + 6 * j + 6 * k;
                    int wingNum = 2 * j + 1 * k;
                    if (legNum == 118 && wingNum == 20) {
                        System.out.println("蜘蛛,蜻蜓,蝉各:" + i + ", " + j + ", " + k + "只");
                    }
                }
            }
        }
    }
}

蜘蛛,蜻蜓,蝉各:2, 3, 14只
蜘蛛,蜻蜓,蝉各:5, 7, 6只

假如人生没有梦想,和咸鱼有什么区别!
2018-05-22 20:13
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
不愧是大佬啊,膜拜中
2018-05-22 20:13
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
打印出如下所示倒三角图形。
12345678987654321
123456787654321
 1234567654321
  12345654321
   123454321
    1234321
     12321
      121
       1

正三角型
        1
       121
      12321
     1234321
    123454321
   12345654321
  1234567654321
123456787654321
12345678987654321


还有这两个,非常感谢
2018-05-22 20:19
saberlily
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2018-5-22
  得分:0 
同样是九年义务教育,您为何如此优秀
2018-05-22 20:28







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024121 second(s), 8 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved