如何处理整数并翻转它们

时间:2015-02-12 13:53:08

标签: java int

haw我可以在某个索引处翻转一个整数 例如,我有这个数字1001,我需要从索引2开始翻转它 结果将是1010 这是我尝试过的更简单的方法吗?

public class TEST {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan = new Scanner(System.in);
        int code = scan.nextInt();
        int index = scan.nextInt();
        String s = code + "";
        String f = "";

        for (int i = s.length() - 1; i >= index; i--) {
            f += s.charAt(i);
        }
        for (int i = 0; i < index; i++) {
            f += s.charAt(i);
        }
        System.out.println(f);
    }
}

另一个问题是,如果我有1001它将变为1100,那么我将每个数字向左移动

3 个答案:

答案 0 :(得分:3)

您可以使用reverse()类的StringBuilder方法来反转该数字,然后将其解析为整数。使用StringBuilder如下:

    StringBuilder num = new StringBuilder("1234");
    num.reverse(); // is now "4321"

解析整数:

    int i = Integer.parseInt(num.toString());

答案 1 :(得分:0)

我相信这就是你要找的东西。这假设您使用0索引系统来选择反转开始的位置。

Scanner scan = new Scanner(System.in);
int code = scan.nextInt();
int index = scan.nextInt();
String s = code + "";
String f = s.substring(0, index);
    for(int i = index; i < s.length(); i++)
        f += s.charAt(s.length() - (i - index) - 1);
System.out.println(f);

答案 2 :(得分:0)

您的flip操作,如果我认为您的意思是12345之类的字符串包含索引[1,2,3,4,5]而不是[0,1,2,3,4]˙并且从{{1}的索引开始从11,包含翻转,您的操作从左到右,然后您可以执行以下操作

5

当然,如果它应该是从右到左,那么你需要弄乱字符串的长度并镜像操作......