想法類似於“不僅要,還要如何”,但是他提交代碼好像不太方便。
同時,為了幫助妳理解,還提供了壹個字符串截取方法來達到同樣的效果。
參考碼
進口?Java . util . scanner;
公共?班級?NumDemo?{
公共?靜電?作廢?main(String[]?args)?{
什麽時候?(真)?{
int?num?=?get number();
System.out.println("方法1?:The?皈依?號碼?是:“?+?convert(num))。//?方法1
System.out.println("方法2?:The?皈依?號碼?是:“?+?convert 2(num));//?方法2
system . out . println();
}
}
//?此方法用於提示用戶輸入並返回壹個整數。
公共?靜電?int?getNumber()?{
掃描儀?sc?=?新的?掃描儀(system . in);
什麽時候?(真)?{
System.out.print("拜托?進入?安?整數:");
字符串?線?=?sc . nextline();
試試?{
int?num?=?integer . parse int(line . trim());//從字符串到整數
回歸?num
}?接住?(例外?e)?{//如果輸入的不是整數,會提示您重新輸入。
System.out.println("抱歉!?必須?進入?安?整數”);//?提示用戶輸入錯誤。
system . out . println();
繼續;
}
}
}
//?這種方法是用來做什麽的?轉換數字?:?使用字符串截取的方法。
公共?靜電?int?convert(int?a)?{
//因為輸入是負的,所以這裏取絕對值。
字符串?str?=?string . value of(math . ABS(a));//?整數接受絕對值並將其轉換為字符串。
字符串?結果?=?"";//?保存結果的字符串。
int?萊恩。=?str . length();//?字符串長度
字符串?s1?=?str.substring(len?/?2?+?萊恩。%?2);//?前部
字符串?s2?=?萊恩。%?2?==?0""?:?str.charAt(len?/?2)?+?"";//?如果字符串長度為奇數,中間不變。
字符串?s3?=?str.substring(0,萊恩。/?2);//?後面的部分
結果?=?s1?+?s2?+?S3;//?都有聯系。
int?num?=?Integer.parseInt(結果);//?字符串到整數
如果?(a?& gt=?0)?{//如果輸入正數,將返回正數。
回歸?num
}?不然呢?{
回歸?num?*?-1;//如果輸入負數,則返回負數。
}
}
//?這種方法是用來做什麽的?轉換數字?妳清理幹凈了嗎?“不僅是而且是什麽”?思路
公共?靜電?int?convert2(int?a)?{
字符串?str?=?string . value of(math . ABS(a));//?整數接受絕對值並將其轉換為字符串。
char[]?cs?=?str . tochararray();//?轉換為字符數組
為了什麽?(int?我?=?0;?我?& lt?cs.length?/?2;?i++)?{
夏爾?臨時工?=?cs[I];
cs[i]?=?cs[cs.length?-?cs.length?/?2?+?I];
cs[cs.length?-?cs.length?/?2?+?我]?=?溫度;
}
int?num?=?Integer.parseInt(新?字符串(cs));//?字符串到整數
如果?(a?& gt=?0)?{
回歸?num
}?不然呢?{
回歸?num?*?-1;
}
}
}測試效果
拜托了。進入?安?整數:123456
方法1?:The?皈依?號碼?是:456123
方法二?:The?皈依?號碼?是:456123
拜托了。進入?安?整數:56789
方法1?:The?皈依?號碼?是:89756
方法二?:The?皈依?號碼?是:89756
拜托了。進入?安?整數:abc
不好意思!?必須?進入?安?整數