当前位置: 首页 > article >正文

快读模板(Java)


我对快读模板的总结都在下面的代码中了,仔细瞅瞅!👇

这下面是创建方法的模板

模板一.

import java.io.*;
import java.util.Arrays;


public class Fast_Read1{
    //System.out 是输出字节流
    //OutputStreamWriter 将字节流的数据转换成字符流
    //BufferedWriter 是一个缓冲字符输出流,它为字符输出提供了缓冲功能
    //如果要输出数据 ,它会先把数据写到缓冲区,需要flush()或者缓冲区满,才会输出出来
    ///PrintWriter是一个功能强大的字符输出流,提供了很多方法println()、print()、printf() 等
    public static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
    //System.in 是输入字节流
    //InputStreamReader 将字节流的数据转换成字符流
    //BufferedWriter 是一个缓冲字符输出流,它为字符输出提供了缓冲功能

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    //StreamTokenizer它主要将输入流分解成一个个标记。标记可以是数字、单词、标点符号等。它方便对文本进行解析和处理
    static StreamTokenizer st = new StreamTokenizer(br);


    //转换成方法
    //这里面的方法名称可以修改

    //如果要创建不同类型 ,就可以把这个方法进行重载即可
    static int nextInt() throws IOException {//默认为Double类型
        //nextToken() 是 StreamTokenizer 类的一个方法,它的作用是从输入流中读取下一个标记
        st.nextToken();
        //这可以进行类型的转换!!
        return (int) st.nval;  //nval是成员变量,用于存储当前标记的数值
    }

    public static void main(String[] args) throws IOException {
        int[] arr = new int[5];
        for (int i = 0; i < 5; i++) {
            arr[i] = nextInt();

        }
        for (int i = 0; i <5 ; i++) {
            out.print(arr[i]+" ");
            out.flush();
        }

    }
}

模板二👇.

也可以不通过创建方法来进行使用,但是这时你需要对字符串转换成其它变量类型的方法比较熟悉

👇

import java.io.*;
import java.util.Arrays;


public class Fast_Read {

    public static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


    public static void main(String[] args) throws IOException {
        int[] arr = new int[5];

        out.println(5);
        //记得刷新缓冲区
        out.flush();

        String s = br.readLine();
        int nums = Integer.parseInt(s);
        double nums1 = Double.parseDouble(s);
        long nums2 = Long.parseLong(s);

        //有缺点,不能一行输入!所有值 对数组有问题!!
        for (int i = 0; i <5 ; i++) {
            String input = br.readLine();
            arr[i] = Integer.parseInt(input);
        }
        out.print(Arrays.toString(arr));
        out.flush();
    }

}

对数组的操作有缺陷,不能够连续输入数组的值👇

只能下面的输入👇

当然也可以混用,看你自己了


如果觉得文章对你由帮助,点个赞再走吧


http://www.kler.cn/a/583855.html

相关文章:

  • 【后端开发面试题】每日 3 题(十二)
  • 【从零开始学习计算机科学】数据库系统(九)DBMS的体系结构
  • 复变函数摘记1
  • 在微信小程序或前端开发中,picker 和 select 都是用户交互中用于选择的组件,但它们在功能、设计和使用场景上有一定的区别
  • 桂云OSG:什么是桂链?
  • 2025-03-13 学习记录--C/C++-PTA 练习2-13 求N分之一序列前N项和
  • DeepSeek R1 与 ktransformers:结合苹果 M4 Mac 的 LLM 推理深度分析
  • 计算机网络——DHCP实验
  • Easyocr图片识别小结
  • AI自动化、资本短视、三输与破局
  • 编译器视角下的 C++ 异常:探究 throw 与 catch 的编译原理
  • AI日报 - 2025年3月14日
  • iOS开发,SQLite.swift, Missing argument label ‘value:‘ in call问题
  • 计算机视觉算法实战——驾驶员玩手机检测(主页有源码)
  • 手机遥控开关,是一种能让用户通过手机远程控制电器开关
  • 基于全局分析SpringCloud各个组件所解决的问题?
  • 【AIGC】OpenAI 集成 Langchain 操作实战使用详解
  • python元组(被捆绑的列表)
  • 【毕业论文格式】word分页符后的标题段前间距消失
  • Redis超高并发分key实现