看你很着急的样子.所以帮你整理下代码:
思路和"不但而且要怎样"是差不多的.不过好像他不方便提交代码
同时为了帮助你理解,也提供了一个字符串截取的方法来实现同样的效果
参考代码
importjava.util.Scanner;
publicclassNumDemo{
publicstaticvoidmain(String[]args){
while(true){
intnum=getNumber();
System.out.println("方法1:Theconvertednumberis:"+convert(num));//方法1
System.out.println("方法2:Theconvertednumberis:"+convert2(num));//方法2
System.out.println();
}
}
//该方法用于提示用户输入,并且返回一个整数
publicstaticintgetNumber(){
Scannersc=newScanner(System.in);
while(true){
System.out.print("Pleaseenteraninteger:");
Stringline=sc.nextLine();
try{
intnum=Integer.parseInt(line.trim());//从字符串转整数
returnnum;
}catch(Exceptione){//如果输入的不是整数,那么提示,要求重输
System.out.println("Sorry!Mustenteraninteger");//提示用户输错了
System.out.println();
continue;
}
}
}
//该方法用于转换数字:使用字符串截取的方法实现
publicstaticintconvert(inta){
//因为考虑输入为负数的情况,所以这里取了绝对值
Stringstr=String.valueOf(Math.abs(a));//整数取绝对值转成字符串
Stringresult="";//保存结果的字符串
intlen=str.length();//字符串的长度
Strings1=str.substring(len/2+len%2);//前面部分
Strings2=len%2==0?"":str.charAt(len/2)+"";//如果字符串长度是奇数中间不变
Strings3=str.substring(0,len/2);//后面的部分
result=s1+s2+s3;//全部连接起来
intnum=Integer.parseInt(result);//字符串转成整数
if(a>=0){//如果输入的是正数,就返回正数
returnnum;
}else{
returnnum*-1;//如果输入的是负数,就返回负数
}
}
//该方法用于转换数字帮你整理的"不但而且要怎样"的思路
publicstaticintconvert2(inta){
Stringstr=String.valueOf(Math.abs(a));//整数取绝对值转成字符串
char[]cs=str.toCharArray();//转换成字符数组
for(inti=0;i<cs.length/2;i++){
chartemp=cs[i];
cs[i]=cs[cs.length-cs.length/2+i];
cs[cs.length-cs.length/2+i]=temp;
}
intnum=Integer.parseInt(newString(cs));//字符串转成整数
if(a>=0){
returnnum;
}else{
returnnum*-1;
}
}
}
测试效果
Pleaseenteraninteger:123456
方法1:Theconvertednumberis:456123
方法2:Theconvertednumberis:456123
Pleaseenteraninteger:56789
方法1:Theconvertednumberis:89756
方法2:Theconvertednumberis:89756
Pleaseenteraninteger:abc
Sorry!Mustenteraninteger
文章分享结束,cs123456和java题目输入123456输出结果为456123的答案你都知道了吗?欢迎再次光临本站哦!