java 中有没有办法把一串数字的开头第一位数字削掉

如题 java 中有没有办法把一串数字的开头第一位数字削掉,只保留后面数字比如本来是“12345”变成“2345”

或者能不能通过输入数字的第几位来提出这串数字其中一个数出来,比如说我现在有个数“987654321” 我在输入3的时候他会输出第3个数字“7”

谢谢!! 我刚开始学最好是用简单点的方法去解

第1个回答  2014-10-11
public class test1{
public static void main(String[] args) {

System.out.println(anInt(1234));

System.out.println(strAt(987654321, 3));
}

//处理 1234 变成 234
public static String anInt(int a){
String stra = String.valueOf(a);
return  stra.substring(1, stra.length());
}
//提取指定位置的数字 比说我现数987654321  我输入3候输第3数字7
public static String strAt(int a,int b){
String stra = String.valueOf(a);
return stra.charAt(b-1)+"";
}
}

追问

不好意思刚开始学没看懂。。。
假如我想提取一串数字a里的第b位数
我要怎么做(就是只是单独关键的那几行 )
String stra = String.valueOf(a);
return stra.charAt(b-1)+"";这行是什么意思

追答

你直接调用这个方法就行strAt("原始的数据","第几个位置")
他返回的就是你要的数据

第2个回答  2014-10-11
运行下面的代码,应该是楼主要的……
public static void main(String[] args) {
//去掉第一位
String str = "12345";
str = str.substring(1, str.length());
System.out.println(str);

//输出指定位置字符
String str2 = "987654321";
System.out.println("请输入一位数【1-9】:");
Scanner input = new Scanner(System.in);
int a = input.nextInt();
System.out.println(str2.charAt(a-1));
}追问

嗯试了下是的,
不过能不能用基本(简单)点的代码要多写几行但是有一样的效果?

本回答被提问者采纳
第3个回答  2014-10-11

需求不大明确

比如1011,去掉最高位,你希望得到011的字符串,还是11的数值?



Number num = 1011;
String str = num+"";
String ret = str.substring(1);
System.out.println(ret);
Long n = Long.valueOf(ret);
System.out.println(n);

追问

题目是要转换2进制的数字换成10进制,但是不让直接转,让我写很多步骤并且在用户打出来不是1或0之外的数字时候提示重新输入,我现在主要就是想找个方法来让他只识别1和0,所以我想可以这样切第一个数字然后后面的数字用“除以10”来削掉,然后去看是不是1或者0,但是很麻烦,不知道有简洁点的方法吗?

第4个回答  2014-10-11

public class Demo {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(NumberUtil.cut_first(new Integer(12345)).intValue());
}

}


class NumberUtil {
static Integer cut_first(Integer number) {
String numberStr = number.toString();
numberStr = numberStr.substring(1);
return Integer.parseInt(numberStr);
}
}