一个java小程序的问题
java怎么实现输入四位数,程序自动为每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换?最后要输出变化后的四位数...
java怎么实现输入四位数,程序自动为每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换?
最后要输出变化后的四位数 展开
最后要输出变化后的四位数 展开
5个回答
展开全部
import java.util.Scanner;
public class 输入四位数换位 {
public static void main(String[] args) {
System.out.println("请输入一个四位数:");
Scanner 输入 = new Scanner(System.in);
int 四位数 = 输入.nextInt();
if (四位数 < 1000 || 四位数 > 9999) {
System.out.println("输入的数不是四位数");
}
int 结果千位数 = ((四位数 % 10) + 5) % 10;
int 结果百位数 = (((四位数 % 100) / 10) + 5) % 10;
int 结果十位数 = (((四位数 % 1000) / 100) + 5) % 10;
int 结果个位数 = ((四位数 / 1000) + 5) % 10;
System.out.println(结果千位数 * 1000 + 结果百位数*100+结果十位数*10+结果个位数);
}
}
展开全部
输入四位数为X
先获取个位数A:X除以10求余数(这个操作我们称之为"对10求余")
获取十位数B:X除以10再对10求余。百位(C)千位(D)依次类推
然后都加上5
然后把获取的个位数A乘以1000再加上十位数B乘以100加上百位数C乘以10再加上千位数D。
完了,不懂再问我!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先把这个四位数变成字符串,分成四段,再把每一段转成整数,再+5)%10 最后再把四个数接在一起就行了。
给个例子
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=3546;
String as=a+"";
int a1=Integer.parseInt(as.substring(0,1));
int a2=Integer.parseInt(as.substring(1,2));
int a3=Integer.parseInt(as.substring(2,3));
int a4=Integer.parseInt(as.substring(3));
a1=(a1+5)%10;
a2=(a2+5)%10;
a3=(a3+5)%10;
a4=(a4+5)%10;
System.out.println(a4+""+a3+""+a2+""+a1);
}
给个例子
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=3546;
String as=a+"";
int a1=Integer.parseInt(as.substring(0,1));
int a2=Integer.parseInt(as.substring(1,2));
int a3=Integer.parseInt(as.substring(2,3));
int a4=Integer.parseInt(as.substring(3));
a1=(a1+5)%10;
a2=(a2+5)%10;
a3=(a3+5)%10;
a4=(a4+5)%10;
System.out.println(a4+""+a3+""+a2+""+a1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/**
* 每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
*/
public static void main(String args[]) {
int mi=4567; //测试密码
char mi_str[]=(mi+"").toCharArray();
String mi_print[] = new String[4];
/*************每位数字都加上5,然后用和除以10的余数代替该数字***********/
for (int i = 0; i < mi_str.length; i++) {
int num=mi_str[i];
int b=((num+5)%10);
mi_print[i]=b+"";
}
String temp = "";
/*************交换第一位跟第四位***************/
temp=mi_print[0];
mi_print[0]=mi_print[3];
mi_print[3]=temp;
/*************交换第二位跟第三位***************/
temp=mi_print[1];
mi_print[1]=mi_print[2];
mi_print[2]=temp;
String print_str = "";
for (int i = 0; i < mi_print.length; i++) {
print_str+=mi_print[i];
}
System.out.println("加密后的结果为:"+print_str);
}
* 每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
*/
public static void main(String args[]) {
int mi=4567; //测试密码
char mi_str[]=(mi+"").toCharArray();
String mi_print[] = new String[4];
/*************每位数字都加上5,然后用和除以10的余数代替该数字***********/
for (int i = 0; i < mi_str.length; i++) {
int num=mi_str[i];
int b=((num+5)%10);
mi_print[i]=b+"";
}
String temp = "";
/*************交换第一位跟第四位***************/
temp=mi_print[0];
mi_print[0]=mi_print[3];
mi_print[3]=temp;
/*************交换第二位跟第三位***************/
temp=mi_print[1];
mi_print[1]=mi_print[2];
mi_print[2]=temp;
String print_str = "";
for (int i = 0; i < mi_print.length; i++) {
print_str+=mi_print[i];
}
System.out.println("加密后的结果为:"+print_str);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.*;
public class Test
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // the input number, say, 1234
//add 5 to each number and mod each new number with 10
int newN = 0;
int counter = 0;
while(counter<4)
{
if(counter != 0)
newN += ((n % Math.pow(10, counter+1) - n % Math.pow(10, counter)) / Math.pow(10, counter) + 5) % 10 * Math.pow(10, counter);
else
newN += (n % 10 + 5) % 10;
counter++;
}
//switch 1st and 4th number, as well as 2rd and 3rd number
int first = (newN / 1) % 10;
int second = (newN / 10) %10;
int third = (newN /100) % 10;
int forth = (newN / 1000) % 10;
newN = first * 1000 + forth + second * 100 + third * 10;
//output the new number
System.out.println("The new number is: " + newN);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询