文章目录

前言

一、Main类&主函数

二、读取输入的语句

1.引入IO包

2.用BufferedReader读取输入

3.将读取的String分割为数组

三、处理IO异常

总结


前言

在PTA平台(或者浙大PAT)做编程练习题时,经常需要接收一定的输入。本文给出用Java语言做这些练习时的基本代码框架,包括Main类、main()函数、以及接收给定输入的语句。完整的代码在 总结 部分。


一、Main类&主函数

在PTA平台上使用java答题,必须有一个“Main”类,这个名称是固定的。

主函数main()必须要放在Main类之中,如图。

class Main{  //Main类的名称是固定的
    public static void main(String[] args) {  //主函数
        //要运行的代码
    }
}

二、读取输入的语句

1.引入IO包

要读取输入,那么main()函数中就会有涉及输入的语句。首先需要在代码第一行引入java的IO包。

import java.io.*

2.用BufferedReader读取输入

我习惯用BufferedReader类来读取输入,这个类有一个很好用的readLine()功能,一次可以读取一行的字符串,如下。之后还可以将读取的String转为需要的格式,比如int或者double。

import java.io.*;  //引入java的IO包
class Main{
    public static void main(String[] args) throws IOException{
        
        //new 一个BufferedReader对象
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        //用一个String变量读取一行输入
        String s = br.readLine().trim();  //trim()用于去除首尾空格

        //将接收到的String转为Integer
        int t = Integer.parseInt(s);
        
    }
}

3.将读取的String分割为数组

有时题目在一行之中给出多个信息,比如“n个新员工的年龄”,并以空格分隔。这时最好在读取时就对String按空格进行分割,分割结果存储在一个数组中。如下,split()函数用于分割,“ +”是正则表达式,表示一个或多个空格。

import java.io.*;
class Main{
    public static void main(String[] args) throws IOException{
        //定义一个字符输入流
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        //用String数组接收输入  以一个或多个空格作为分隔符
        String[] s = br.readLine().trim().split(" +");

        //将数组中的String转为需要的数据类型
        int t = Integer.parseInt(s[0]);
        
    }
}

三、处理IO异常

如果函数之中有涉及输入的语句,就要处理可能抛出的IO异常。

比较简便的方式是在主函数上抛出IOException,如下。

class Main{
    public static void main(String[] args) throws IOException {
        //要运行的代码
    }
}

当然也可以用try-catch语句处理,注意声明变量的语句一定要在try-catch块之外,如下。

import java.io.*;
class Main{
    public static void main(String[] args) {
        
        //在try块之外先声明变量
        String s = "";  
        BufferedReader br;

        try{
            br = new BufferedReader(new InputStreamReader(System.in));
            s =  br.readLine().trim();
        }
        
        catch(IOException e){
            System.out.println("输入发生异常,程序无法继续!");
        }

        //其余代码
    }
}

总结

以下就是在PTA平台(或者浙大PAT)使用java答题并接收一定的输入时,可以使用的代码模板。

1.接收一行String输入

//接收一行String输入
import java.io.*;
class Main{
    public static void main(String[] args) throws IOException{
        //接收输入
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine().trim();
        int t = Integer.parseInt(s);
        
    }
}

2.接收一行String输入,并用空格分割为String数组

//接收一行String输入并用空格分割为String数组
import java.io.*;
class Main{
    public static void main(String[] args) throws IOException{
        //接收输入
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] s = br.readLine().trim().split(" +");
        int t = Integer.parseInt(s[0]);
        
    }
}