转义
split()分割时注意"."需要转义。
Java中char 转化为int 的两种方法
不能直接转换,那样得到的是ASCII码。
方法一: 先把char转为char[1]的数组,然后转为string,最后利用Integer中parserInt方法,此方法要创建多个对象,要消耗许多内存。
方法二: 利用char的封装类 character, 通过如下静态方法就可以直接实现。
public class IntAndCharConvertor { public static void main(String[] args) { //得到的是ASCII码 char numChar = '9'; int intNum = (int)numChar; System.out.println(numChar + ": " + intNum); //method 1: char[] charArray = {numChar}; intNum = Integer.parseInt(new String(charArray)); System.out.println("method 1: " + numChar + ":" + intNum); //method 2: System.out.println("method 2: " + numChar + ":" + Character.getNumericValue(numChar)); } }
实现代码:
import java.util.*; import java.lang.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); String[] s = str.split("\\."); // System.out.println(s[1]); Character c = s[1].charAt(0); int tmp = Character.getNumericValue(c); if (tmp >= 5 ) { System.out.print(Integer.valueOf(s[0]).intValue() + 1); }else{ System.out.print(Integer.valueOf(s[0]).intValue()); } } }