七月网

cs123456

七月网2230

看你很着急的样子.所以帮你整理下代码:

cs123456

思路和"不但而且要怎样"是差不多的.不过好像他不方便提交代码

同时为了帮助你理解,也提供了一个字符串截取的方法来实现同样的效果

参考代码

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的答案你都知道了吗?欢迎再次光临本站哦!