创建一个for循环,将长整数减少到0到101之间的数字

时间:2015-07-03 20:05:06

标签: java loops for-loop integer long-integer

我正在尝试在Java中创建一个for循环,它将采用一个长整数并将其减少到0-101之间的值。例如,数字89123将减少到89并且10145将减少到101.我知道这可以通过连续将较长的整数除以10来完成,但我不知道如何编写循环以便它在整数时停止在0-101范围内。感谢任何帮助,谢谢!

3 个答案:

答案 0 :(得分:0)

这样的事情:

public class Test {

    public static long getNumber(long input) {
       while(input > 101) {
           input = input /10;
       }
       return input;
    }


    public static void main(String[] args){

       System.out.println(getNumber(101111));
       System.out.println(getNumber(89123));
    }
}

答案 1 :(得分:0)

这样的事情:

import java.util.Scanner;

public class HelloWorld{

    public static Scanner scanner = new Scanner(System.in);

     public static void main(String []args){

        long number;
        System.out.print("Enter number (to exit enter -1):");
        while((number = scanner.nextLong()) != -1){
            while(number > 101){
                number /= 10;
            }
            System.out.println(number);
            System.out.print("Enter number (to exit enter -1):");
        }

     }
}

答案 2 :(得分:0)

这应该有效。

 public int getNumber(long l){
  int lenght=(""+l).length();
  if(length<3)return (int)l;
  l/=(int)Math.Pow(10,length-3)
  if(new Long(l).equals(101)||new Long(l).equals(100))return (int)l;
  else return (int)(l/=10);
 }