public class Test9 { public static void main(String args[]){ int i = 1; String str="1234"; int sum=Character.getNumericValue(str.charAt(0)); sum+=i; System.out.println(sum); }
}
你的题目是不可能的,除非你自己看花了眼.string.charAt(0) = 1;这句不可能成立 因为charAt(0)无法赋值,string.charAt(0) == 1?nt i = 1; int sum = i + string.charAt(0); sum肯定是2. 如果你说的是string.charAt(0) == '1' sum才会是50可是上面那些答案都是基于string.charAt(0) == 1的,不知道是怎么得到的.
用5楼的方法可以实现,还可以用这个方法实现:int i = 1; int sum = i + string.charAt(0); System.out.println(sum);将那一句改成 int sum = i + Integer.parseInt("" + string.charAt(0)); 就可以了.
看楼主好像是初学者,就把完整代码贴给你吧:public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i = 1; String str = "1234"; int sum = i + Integer.parseInt("" + str.charAt(0)); System.out.println(sum); }}输出结果就是2
public static void main(String args[]){ int i = 1; String str="1234"; int sum=Integer.valueof(str.charAt(0)); sum+=i; System.out.println(sum); } 是这意思?
如果楼主确实想要将一个 char 类型的数字字符转换为 int 类型的话,也可以,用下面这条语句就可以: int sum = i + (str.charAt(0) - '0');因为在运算过程中,用到的char类型的变量都是取的它的ASCII码来运算的,所以要只需算出当前字符与'0'字符之间的差值就得到当前字符的数字值。 转换前也可以先判断一下当前是否是数字字符: if (Character.isDigit(str.charAt(0)) { //要执行的代码块 } 完整代码示例:public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i = 1; String str = "1a34c"; for (int j = 0; j < str.length(); j++) { char ch = str.charAt(j); if (Character.isDigit(ch)) { int sum = i + ch - '0'; System.out.println("sum = " + sum); } else { System.out.println(ch + " 这个字符不是数字"); } } }}输出结果: sum = 2 a 这个字符不是数字 sum = 4 sum = 5 c 这个字符不是数字
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i = 1; String str = "1234"; int sum = i + Integer.parseInt("" + str.charAt(0)); System.out.println(sum); }}
public class Test{ public static void main(String args[]){
String string = "123456"; int i = 1; int sum = i + Character.getNumericValue(string.charAt(0));
System.out.println(sum); } }
public class E { public static void main(String[] args) { int index=0;//你可以随意选择你要提取的字符串中的任意一个字符用于后面的运算 String s="123"; String temp=s.substring(index,index+1); int i=1; Integer nu=new Integer(temp); //int sum= i + Integer.parseInt("" + s.charAt(0)); //这行的方法比较直接,很好 int sum=i+nu.intValue();//这样的方法就比较间接,且笨拙 System.out.println(sum); }}
public class Test9 { public static void main(String args[]){
int i = 1;
String str="1234";
int sum=Character.getNumericValue(str.charAt(0));
sum+=i;
System.out.println(sum);
}
}
因为charAt(0)无法赋值,string.charAt(0) == 1?nt i = 1;
int sum = i + string.charAt(0);
sum肯定是2.
如果你说的是string.charAt(0) == '1'
sum才会是50可是上面那些答案都是基于string.charAt(0) == 1的,不知道是怎么得到的.
int sum = i + string.charAt(0);
System.out.println(sum);将那一句改成 int sum = i + Integer.parseInt("" + string.charAt(0)); 就可以了.
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 1;
String str = "1234";
int sum = i + Integer.parseInt("" + str.charAt(0));
System.out.println(sum); }}输出结果就是2
int i = 1;
String str="1234";
int sum=Integer.valueof(str.charAt(0));
sum+=i;
System.out.println(sum);
}
是这意思?
int sum = i + (str.charAt(0) - '0');因为在运算过程中,用到的char类型的变量都是取的它的ASCII码来运算的,所以要只需算出当前字符与'0'字符之间的差值就得到当前字符的数字值。
转换前也可以先判断一下当前是否是数字字符:
if (Character.isDigit(str.charAt(0)) {
//要执行的代码块
}
完整代码示例:public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 1;
String str = "1a34c"; for (int j = 0; j < str.length(); j++) {
char ch = str.charAt(j);
if (Character.isDigit(ch)) {
int sum = i + ch - '0';
System.out.println("sum = " + sum);
} else {
System.out.println(ch + " 这个字符不是数字");
}
} }}输出结果:
sum = 2
a 这个字符不是数字
sum = 4
sum = 5
c 这个字符不是数字
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 1;
String str = "1234";
int sum = i + Integer.parseInt("" + str.charAt(0));
System.out.println(sum); }}
public class Test{ public static void main(String args[]){
String string = "123456";
int i = 1;
int sum = i + Character.getNumericValue(string.charAt(0));
System.out.println(sum);
}
}
public static void main(String[] args) {
int index=0;//你可以随意选择你要提取的字符串中的任意一个字符用于后面的运算
String s="123";
String temp=s.substring(index,index+1);
int i=1;
Integer nu=new Integer(temp);
//int sum= i + Integer.parseInt("" + s.charAt(0)); //这行的方法比较直接,很好
int sum=i+nu.intValue();//这样的方法就比较间接,且笨拙
System.out.println(sum);
}}
""+String.charAt(0);就是Stringchar a='1';
System.out.println(Integer.parseInt(""+a)); // 1
int i =a-48;
System.out.println(i); //1
int sum = i + (string.charAt(0) - 48);
System.out.println(sum);
string.charAt(x)-48字符1和数字1的ASCII之间差是48。