【程序32】
题目:取一个整数a从右端开始的4~7位
import java.util.Scanner;
public class B_32 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个整数(不少于7位):");
String n = sc.next();
if(n.length()>=7){
//注意此处数组应定义为char类型,否则将经过表转换
char[] a = new char[n.length()];
int i;
int index = n.length()-1;
//将字符串逆序保存在数组a中
for(i=0;i<n.length();i++){
a[i] = n.charAt(index);
index--;
}
//将a数组转会字符串.String和Arrays中都有此功能的函数
//但Arrays中转换后变成字符串变成[元素1,元素2,...]的样子 所以此处不用
n = String.valueOf(a);
//利用函数获取指定位置的数字
n = n.substring(3, 7);
//将顺序换回了来
for(i=3;i>=0;i--){
System.out.print(n.charAt(i));
}
}else{
System.out.print("输入的整数长度不够");
}
}
}
额…发现了一种更简单的办法
import java.util.Arrays;
import java.util.Scanner;
public class B_32 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个整数(不少于7位):");
int n = sc.nextInt();
int index=0;
int sign = n;
//统计有几个数字
while(sign != 0){
sign = sign/10;
index++;
}
if(index>=7){
//去掉后面三个数字
sign = n /1000;
//取出需要的四个数字
sign = sign %10000;
System.out.print(sign);
}else{
System.out.print("输入的整数长度不够");
}
}
}