版权声明 https://blog.csdn.net/u014282557/article/details/72829470
题目描述
描述:
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
输入描述:
输入一个int整数
输出描述:
将这个整数以字符串的形式逆序输出
输入例子:
1516000
输出例子:
0006151
我觉得题目不难,我做的方法是不是不太好?感觉不精练。
但是我又想到,题目说了要是字符串的形式逆序,如果不要求字符串的话,应该直接每次while都print一个数字,代码会更简洁吧。
然后过程中还是出了两个小错误:
1、
while(flag){
st.add(""+i%10);
i=i/10;
if(i==0){
flag=false;
}
}
这个flag的判断一定要在i=i/10;之后,不然就会多一个0,别问我怎么知道的....
2、
/* for(int j=st.size()-1;j>=0;j--){
re=re+st.get(j);
}*/
for(int j=0;j<=st.size()-1;j++){
re=re+st.get(j);
}
因为添加的时候就是逆序了,所以不要倒序输出啦!! 【咦这里是不是其实可以直接处理String.....0.0】
-
import java.util.Scanner;
-
import java.util.ArrayList;
-
public
class Main{
-
public static void main(String args[]){
-
Scanner sc=
new Scanner(System.in);
-
long num=sc.nextInt();
-
System.out.println(Fun(num));
-
}
-
-
public static String Fun(long num){
-
String re=
"";
-
long i=num;
-
ArrayList<String> st=
new ArrayList<String>();
-
boolean flag=
true;
-
-
while(flag){
-
-
st.add(
""+i%
10);
-
i=i/
10;
-
if(i==
0){
-
flag=
false;
-
}
-
}
-
-
/* for(int j=st.size()-1;j>=0;j--){
-
re=re+st.get(j);
-
}*/
-
for(
int j=
0;j<=st.size()-
1;j++){
-
re=re+st.get(j);
-
}
-
return re;
-
-
}
-
-
}
走,看看大神怎么做的:
1、用StringBuffer.....哎..!!
-
链接:https:
//www.nowcoder.com/questionTerminal/ae809795fca34687a48b172186e3dafe
-
来源:牛客网
-
-
import java.util.*;
-
public
class Main {
-
public static void main(String[] args){
-
Scanner scan =
new Scanner(System.in);
-
String str = scan.nextLine();
-
StringBuffer sb =
new StringBuffer(str);
-
sb.reverse();
-
System.out.println(sb.toString());
-
}
-
-
}
2、跟我想法差不多的简洁版:
-
链接:https:
//www.nowcoder.com/questionTerminal/ae809795fca34687a48b172186e3dafe
-
来源:牛客网
-
-
import java.util.*;
-
public
class Main{
-
public static void main(String []args){
-
Scanner sc =
new Scanner(System.in);
-
int num = sc.nextInt();
-
int i=
0;
-
String res=
"";
-
-
while(num!=
0){
-
int t1=num%
10;
-
int t2=num/
10;
-
res=res+String.valueOf(t1);
-
i++;
-
num=t2;
-
}
-
System.out.println(res);
-
}
-
}
版权声明 https://blog.csdn.net/u014282557/article/details/72829470