转义

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());
        }
    }
}