当前位置: 首页 > 知识库问答 >
问题:

java - 关于数据的分析,军事单位保证信息安全性?

子车峰
2023-10-20

题目描述

某军事单位为了保证信息的安全性,决定采用特殊的加密方法来传递信息,该方法的操作方式为,如果要传递2个数字信息给友军,会直接传递给友军一个整数n(n是一个10位以内的整数),该整数的长度代表要传递的第一个数字信息,分解出该整数的每一位,如果该位是偶数,那么将这这一位加到总和上去,代表要传递的第二个数字信息。请你编写一个程序,从接收到的数字n中获取这2个数字信息。

题目来源及自己的思路

https://www.qzzg.cn

相关代码

import java.util.Scanner;
public class Main {

public static void main(String[] args) {    Scanner sc = new Scanner(System.in);    int n = sc.nextInt();    int m = 0;   int sum = 0;   int y = n % 10;    while (n != 0)    {        if (y % 2 == 0)        {            sum = sum + y;        }        n = n / 10;        m++;    }    System.out.println(m+" "+sum);}

}

你期待的结果是什么?实际看到的错误信息又是什么?

输入12345678
输出8 20
错误信息:输入12345678
不出现结果
image.png
改正后代码:
import java.util.Scanner;
public class Main {

public static void main(String[] args) {    Scanner sc = new Scanner(System.in);    int n = sc.nextInt();    int m = 0;//统计位数   int sum = 0;//偶数和    while (n != 0)    {        int y = n % 10;//取余10可得到数据的每位数值        if (y % 2 == 0)//每位数值是否为偶数        {            sum = sum + y;//偶数求和        }        n = n / 10;//不断除十得到整数部分,为零则停止        m++;    }    System.out.println(m+" "+sum);}

}
image.png
错误分析:对于得到每位的具体数值应放在循环里面,否则只得到末位数值;对于输入数字长度的统计,输入整数,不断除以10得到一共多少位,并统计位数。

共有1个答案

巴帅
2023-10-20

很好,你已经提供了关于这个问题的详细信息和代码。我会根据这些信息来回答。

首先,你的题目描述了一种特殊的加密方法,通过传递一个整数n来加密两个数字信息。这个整数的长度代表第一个数字信息,而它的每一位如果偶数则加到总和中,代表第二个数字信息。

你的代码逻辑大致正确,但有一个关键问题需要解决。你在代码中使用 y = n % 10 来获取整数的最后一位。然而,这只能获取到整数的最后一位,而不是每一位。你需要将整数n转换为字符串,然后逐位处理。

以下是改正后的代码:

import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int n = sc.nextInt();        int m = 0; // 统计位数        int sum = 0; // 偶数和        // 将整数n转换为字符串,然后逐位处理        String strN = Integer.toString(n);        for (int i = 0; i < strN.length(); i++) {            int digit = Character.getNumericValue(strN.charAt(i));            if (digit % 2 == 0) {                sum += digit;            }            m++;        }        System.out.println(m + " " + sum);    }}

这段代码的核心部分是将整数n转换为字符串,并使用一个循环逐位处理。Character.getNumericValue(strN.charAt(i))用于获取字符串中每一位的数值。然后,我们检查这个数值是否为偶数,如果是,就加到偶数和sum中。同时,我们还在每次循环中增加计数器m的值,以统计整数的位数。

最后,程序将打印出整数的位数和偶数和。

 类似资料:
  • 因为 Termux 可以很好的支持Python,所以几乎所有用Python编 写的安全工具都是可以完美的运行使用的,所以国光这个版块重点就列举了国光认为实战中比较不错的安全工具。当然大家也可以直接参考本文的 「系统安装」- 「Kali NetHunter」章节,直接在手机里面安装一个 Kali Linux 系统,国光实际体验还是很完美的,里面的信息安全工具要更全面一些。 Exiftool 一个强大

  • 作为一家专注数据服务的公司,诸葛io非常重视数据服务中个人信息的保护和隐私权保护。 诸葛io中记录了大量个人用户及行为数据,这些数据能够帮助您和团队通过数据驱动优化业务,同时,也需要最大化的对用户个人信息安全和隐私进行保护。 另,在实际工作中,需要为部分员工提供低权限账号,他们在利用用户行为数据的同时又能够避免接触到具体用户的关键敏感信息。这样做的目的,一方面能够保护用户的个人信息,另一方面又能够

  • 1.25个选择题,机器学习,python,sql,统计学,数据结构均有考察 构造类的函数,希尔排序,告诉叶子节点求总结点,已知中序遍历后续遍历求结构,python更新表结构语法,机器学习深度学习基础,混淆矩阵。 2.三道sql (1).求连续登录天数,筛出连续登录天数大于2的用户,用例均通过 (2).一张成绩表,一张补考表,补考表上一个人每门考试可能有多条补考记录,有字段记录考试次序,求经过补考后

  • 一、功能简介 内容时代,用户越来越多的时间被各种资讯流、视频流所占用。这些信息浏览形式的技术形态,我们统称为“信息流”。它不仅是提供信息为主的内容类产品最重要的产品样式,目前也已经被广泛的被应用在工具类、社区类等以信息为补充功能的应用内。 MTJ通过分析市面上主流信息流产品的产品形态及用户使用习惯等核心要素,搭建了信息流分析模型,并于5月正式上线“信息流分析”功能。 对于信息流的分析,有助于帮助信

  • volatile的写操作,无法保证线程安全。例如假如线程1,线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加载这个最新的值,在线程1对count进行修改之后,会write到主内存中,主内存中的count变量就会变为6;线程2由于已经进行read,load操作,在进行运算之后,也会更新主内存count的变量值为6;导致两个线程及时用volatile关键字修改之后,还是会存在并发的情况。

  • 问题内容: 已关闭 。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我想允许我的客户用户输入他们的信用卡信息,这样我就可以每月向他们收费。 我不知道应该如何保存此信息? 应该将其保存在MySQL数据库(“用户”表)中还是这种信息过于敏感而需要存储在其他位置? 我对此没有经验,如果有人可以建议我如何实现这一目标,我将感到非