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