2021-12-07_打印X_读取键盘录入_读取转换流
2021/12/7 23:21:12
本文主要是介绍2021-12-07_打印X_读取键盘录入_读取转换流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. problem25:打印X
(备注:在学习算法题的过程中,如果一道题我直接通过了,我就不把它写到博客里了;只有我没做出来,或者我觉得其他人思路更好的,我学习然后不看答案手敲实现后,把它放到博客里)
public class Solution { public List<String> printX(int n) { ArrayList res = new ArrayList<>(); char[] line = new char[n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { line[j] = ' '; } line[i] = 'X'; line[n-1-i] = 'X'; res.add(String.valueOf(line)); } return res; } }
2. B站P242:读取键盘录入
/** 读取键盘录入。 System.out:对应的是标准的输出设备,控制台。 System.in:对应的是标准的输入设备,键盘。 需求: 通过键盘录入数据。 当录入一行数据后,就将该行数据进行打印。 如果录入的数据是over的话,那么就停止录入。 */ import java.io.*; class ReadIn { public static void main(String[] args) throws IOException { InputStream in = System.in; // int by = in.read();//阻塞式方法 // int by1 = in.read(); // int by2 = in.read(); // // System.out.println(by); // System.out.println(by1); // System.out.println(by2); // System.out.println('\r' + 0); // System.out.println('\n' + 0); // int ch = 0; // while ((ch = in.read()) != -1) { // System.out.println(ch); // } // // in.close(); StringBuilder sb = new StringBuilder(); while (true) { int ch = in.read(); if (ch == '\r') { continue; } if (ch == '\n') { String s = sb.toString(); if ("over".equals(s)) { break; // 结束循环 } System.out.println(s.toUpperCase()); sb.delete(0, sb.length()); // 清空缓冲区 } else { sb.append((char)ch); } } } }
3. B站P243:读取转换流
/* 字符流: FileReader FileWriter BufferedReader BufferedWriter 字节流: FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream 通过刚才的键盘录入一行数据并打印其大写,发现其实就是读一行数据的原理。 也就是readLine方法。 能不能直接readLine方法,来完成键盘录入的一行数据的读取呢? readLine方法是字符流BufferedReader类的方法。 而键盘录入的read方法是字节流InputStream的方法。 那么能不能将字节流转成字符流再使用字符流缓冲区的readLine方法呢? */ import java.io.*; class TransStreamDemo { public static void main(String[] args) throws IOException { // 获取键盘录入对象 InputStream in = System.in; // 将字节流对象转成字符流对象,使用转换流。InputStreamReader InputStreamReader isr = new InputStreamReader(in); // 为了提高效率,将字符流进行缓冲区技术高效操作。使用BufferedReader BufferedReader bufr = new BufferedReader(isr); String line = null; while ((line = bufr.readLine()) != null) { if ("over".equals(line)) { break; } System.out.println(line.toUpperCase()); } bufr.close(); } }
这篇关于2021-12-07_打印X_读取键盘录入_读取转换流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-07如何利用看板工具优化品牌内容创作与审批,确保按时发布?
- 2025-01-07百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide
- 2025-01-07质量检测标准严苛,这 6 款办公软件达标了吗?
- 2025-01-07提升品牌活动管理的效率:看板工具助力品牌活动日历的可视化管理
- 2025-01-07宠物商场的精准营销秘籍:揭秘看板软件的力量
- 2025-01-07“30了,资深骑手” | 程序员能有什么好出路?
- 2025-01-07宠物公园的营销秘籍:看板软件如何帮你精准触达目标客户?
- 2025-01-07从任务分解到资源优化:甘特图工具全解析
- 2025-01-07企业升级必备指南:从传统办公软件到SaaS工具的转型攻略
- 2025-01-07一文告诉你IT项目管理如何做到高效