查看所有50道基础算法题请看:
Java的50道基础算法题
package Demo32Number_Cut;
import java.util.Scanner;
/**
* 取一个整数a从右端开始的4~7位。
*/
/*
分析:首先获取用户输入的一个整数,获取该数的长度
而且,这种截取,当成字符串来处理最简单,最后再解析成整数不就好了嘛?
想用数字的话用Long.parseLong(cons)解析为数字即可。
*/
public class Number_Cut {
public static void main(String[] args) {
System.out.println("请输入一个大于等于7位的整数:");
Scanner sc = new Scanner(System.in);
String nums = sc.next();
try{
//判断用户有没有输入负数,ascii码表中负号为45
if(nums.charAt(0)==45){
nums=nums.substring(1);
String cons = nums.substring(nums.length()-6,nums.length()-3);
long l = Long.parseLong(cons);
System.out.println("该数从右端开始的4~7位为:"+l);
}else{
String cons = nums.substring(nums.length()-6,nums.length()-3);
long l = Long.parseLong(cons);
System.out.println("该数从右端开始的4~7位为:"+l);
}
}catch(Exception e){
System.out.println("您输入的数字有误,请查看是否输入了非数字字符,或者不足7位数....");
}
}
}