OJ平台(牛客等)中Java的输入方法 |
您所在的位置:网站首页 › 如何用java输入数字格式 › OJ平台(牛客等)中Java的输入方法 |
之前做题主要是在leetcode里做的,在leetcode平台,做题的时候只需要完成所给的函数,使用时,输入为函数输入的形参,输出为程序的返回值。而在牛客网上的题目,包括一些竞赛时的题目,型式为输入的是从控制台键入的几行数据,而输出是直接将结果打印到控制台,因此,这里将所遇到的输入的格式即对应的代码放在这里。 基本格式及所需的库在Java5中引入了Scanner库,这个库在日常使用中是非常方便的,可以直接将输入按照格式读取,但是,在牛客上经过笔者的测试,效率要比BufferedReader差很多,因此,在做题时推荐还是用BufferedReader和InputStreamReader来使用。 在这些平台,一般要求主类名为Main,然后将方法写到main()方法中,因此,我们的类大概是类似如下的格式: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ ...... } }有一点要注意的是,由于在IO时所用的方法往往是有声明必检异常的,所以这里如果不想在代码中加入try-catch块的话,main()方法也要声明抛出’IOException`异常。 输入为一个字符串时若输入为一个字符串,如: abcd相应的读取输入代码: // 创建一个BufferedReader对象 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 读取字符串 String line = br.readLine(); // 测试输入是否正确 System.out.println(line); 若输入为多个数字若输入为多个数字,如下: 1 2这个例子中有两个数字,则代码为: // 创建一个BufferedReader对象 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 读取第一行数据 String line = br.readLine(); // 将字符串根据空格进行分隔 String[] strings = line.trim().split(" "); // 分别将其中的每个数值读出 int n = Integer.parseInt(strings[0]); int v = Integer.parseInt(strings[1]); // 测试输入是否正确 System.out.println("n: " + n + "\tv: " + v); 若输入中有一个数组,且有数组的长度一种常见的输入方式为,给出数行数据,其中一行为数组,而在前面某一行中,会有一个数据为其数组的位数。如: 7 6 1 2 3 4 5 6 7其中第二行为一个数组,第一行的第一个数字表示第二行数组的长度,则读取输入的代码为: // 创建一个BufferedReader对象 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 读取第一行数据 String line = br.readLine(); // 将字符串根据空格进行分隔 String[] strings = line.trim().split(" "); // 分别将其中的每个数值读出 int n = Integer.parseInt(strings[0]); int v = Integer.parseInt(strings[1]); // 读取第二行数据 line = br.readLine(); strings = line.trim().split(" "); // 创建一个int型的数组用来储存第二行的多个数字 int[] nums = new int[n]; for (int i = 0; i System.out.print(num + " "); } |
今日新闻 |
点击排行 |
|
推荐新闻 |
|
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |