文章目录
前言
一、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]);
}
}