62,625
社区成员
发帖
与我相关
我的任务
分享
package com.zuoye;
/*某个公司采用公用电话传递数据,数据是四位的整数,
* 在传递过程中是加密的,加密规则如下:
* 每位数字都加上5,
* 然后除以10的余数代替该数字,
* 再将第一位和第四位交换,第二位和第三位交换。
*/
import java.util.Scanner;
public class 作业12改版 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入四位数:");
int i = input.nextInt () ;//保存用户输入的四位数
if (i <= 9999) {
int i1 = (int)(i/1000)+5;//四位数的千位数加5
int i2 = (int)((i-i1*1000)/100)+5;//四位数的百位数加5
int i3 = (int)((i-i1*1000-i2*100)/10)+5;//四位数的十位数加5
int i4 = (i-i1*1000-i2*100-i3*10)+5;//四位数的各位数加5
int j1 = i1%10 ; //千位数加5后除以10的余数
int j2 = i2%10 ; //百位数加5后除以10的余数
int j3 = i3%10 ; //十位数加5后除以10的余数
int j4 = i4%10 ; //个位数加5后除以10的余数
System.out.print ("加密后的四位数是:" + j4 + j3 + j2 + j1);
}else{
System.out.println ("您输入的不是四位数");
}
}
}
//********************************************************************
//输出结果:
//
//请输入四位数:1234
//加密后的四位数是:-1-1-26
//
//*********************************************************************
//看到这个结果我就懵逼了,怎么能是这样的呢!!!!是我的错吗,还是就是这样的!!!
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入四位数:");
int plainNumber = input.nextInt () ;
if((plainNumber / 1000) == 0 || (plainNumber / 1000) > 10){
System.out.println("输入的数字不是4位数。");
return;
}
int[] digits = new int[4];
int index = 0;
while (plainNumber > 0) {
digits[index] = (plainNumber % 10 + 5) % 10;
plainNumber = plainNumber / 10;
index ++;
}
int temp = digits[0];
digits[0] = digits[3];
digits[3] = temp;
temp = digits[1];
digits[1] = digits[2];
digits[2] = temp;
System.out.println(digits[3] * 1000 + digits[2] * 100 + digits[1] * 10 + digits[0]);
for(int i = 0; i<digits.length; i++){
digits[i] = 0;
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入四位数:");
int plainNumber = input.nextInt () ;
if((plainNumber / 1000) == 0 || (plainNumber / 1000) > 10){
System.out.println("输入的数字不是4位数。");
}
int[] digits = new int[4];
int index = 0;
while (plainNumber > 0) {
digits[index] = (plainNumber % 10 + 5) % 10;
plainNumber = plainNumber / 10;
index ++;
}
int temp = digits[0];
digits[0] = digits[3];
digits[3] = temp;
temp = digits[1];
digits[1] = digits[2];
digits[2] = temp;
System.out.println(digits[3] * 1000 + digits[2] * 100 + digits[1] * 10 + digits[0]);
for(int i = 0; i<digits.length; i++){
digits[i] = 0;
}
}
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.print("请输入四位数");
String s = new Scanner(System.in).nextLine();
System.out.println("加密后的四位数是:");
int[] n = new int[4];
if (s.length() == 4) {
for (int k = n.length - 1; k >= 0; k--) {
for (int i = 3; i >= 0; i--) {
n[i] = (Integer.parseInt(String.valueOf(s.charAt(i))) + 5) % 10;
}
System.out.print(n[k]);
}
} else
System.out.println("请重新输入");
}
}
这个输入的如果不是数字,会抛出异常的[/quote]
写的时候没注意这个,谢谢提醒。。今儿光和Scanner(),next打交道了
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入四位数:");
if(input.hasNextInt()){
int plainNumber = input.nextInt () ;
if((plainNumber / 1000) == 0 || (plainNumber / 1000) > 10){
System.out.println("输入的数字不是4位数。");
return;
}
int[] digits = new int[4];
int index = 0;
while (plainNumber > 0) {
digits[index] = (plainNumber % 10 + 5) % 10;
plainNumber = plainNumber / 10;
index ++;
}
System.out.println(digits[0] * 1000 + digits[1] * 100 + digits[2] * 10 + digits[3]);
for(int i = 0; i<digits.length; i++){
digits[i] = 0;
}
}else{
System.out.println("Input is not a number");
}
}
[/quote]
这。。。好吧我还是回去继续看课吧,我就在某课网才学到流程控制语句,就出来试题了。还是不行,我看到楼的回复有我刚看到的一个知识点叫 数组 还是先学完在说吧。不行在差缺不漏!

import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.print("请输入四位数");
String s = new Scanner(System.in).nextLine();
System.out.println("加密后的四位数是:");
int[] n = new int[4];
if (s.length() == 4) {
for (int k = n.length - 1; k >= 0; k--) {
for (int i = 3; i >= 0; i--) {
n[i] = (Integer.parseInt(String.valueOf(s.charAt(i))) + 5) % 10;
}
System.out.print(n[k]);
}
} else
System.out.println("请重新输入");
}
}import java.util.Scanner;
public class 作业12改版 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入四位数:");
int i = input.nextInt();// 保存用户输入的四位数
if (i <= 9999) {
int i1 = (int) (i / 1000);
int i2 = (int) ((i - i1 * 1000) / 100);
int i3 = (int) ((i - i1 * 1000 - i2 * 100) / 10);
int i4 = (i - i1 * 1000 - i2 * 100 - i3 * 10);
int j1 = (i1+5) % 10; // 千位数加5后除以10的余数
int j2 = (i2+5) % 10; // 百位数加5后除以10的余数
int j3 = (i3+5) % 10; // 十位数加5后除以10的余数
int j4 = (i4+5) % 10; // 个位数加5后除以10的余数
System.out.print("加密后的四位数是:" + j4 + " " + j3 + " " + j2 + " " + j1);
} else {
System.out.println("您输入的不是四位数");
}
input.close();//这句话别漏了。
}
}