io流-求帮忙理解一个JAVA程序,该程序的功能是将次行块风格的代码转换成行尾块

问题描述

求帮忙理解一个JAVA程序,该程序的功能是将次行块风格的代码转换成行尾块

package exercise_9;
import java.util.*;
import java.io.*;

public class Exercise9_16 {
/**Main method*/
public static void main(String[] args) throws Exception {
// Check command line parameter usage
if (args.length != 1) {
System.out.println(
"Usage: java Exercise9_16 filename");
System.exit(0);
}

// Check if source file exists
File sourceFile = new File(args[0]);
if (!sourceFile.exists()) {
   System.out.println("Source file " + args[0] + " not exist");
   System.exit(0);
}

StringBuilder buffer = new StringBuilder();
Scanner input = new Scanner(sourceFile);

while (input.hasNext()) {
  String s = input.nextLine();//一行行输入
  String s1 = s.trim();//把多出来的空格都删掉
  if (s1.charAt(0) == '{') {
    buffer.append(" {");
    if (s1.length() > 1) buffer.append("rn" + s.replace('{', ' '));
  }
  else
    buffer.append("rn" + s);
}

input.close();

// Write buffer into the file
PrintWriter output = new PrintWriter(sourceFile);
output.print(buffer.toString());
output.close();

}
}


if (s1.charAt(0) == '{') {这一行开始就看不太懂了,求解答

解决方案

比如

 public void a()
{if(true)
{}
}
第一次读入 public void a(),放入了buffer中
读取到{if(true)时,判断到开始是{,那么把{放入buffer中,因为没有回车换行,也就是拼接到了public void a()后面,成了public void a() {
然后把buffer再拼接"rn"换行,s.replace('{', ' ')替换到第一个{,剩下if(true)放入buffer中,这就出来结果
public void a() {
  if(true)
这种效果了。
时间: 2024-10-29 17:25:50

io流-求帮忙理解一个JAVA程序,该程序的功能是将次行块风格的代码转换成行尾块的相关文章

svm-求帮忙看一个python的SVM程序改主成分维度改哪里

问题描述 求帮忙看一个python的SVM程序改主成分维度改哪里 200C 从zouxy大神那里拷贝来的程序 源程序在这里 from numpy import *import timeimport matplotlib.pyplot as plt # calulate kernel valuedef calcKernelValue(matrix_x sample_x kernelOption): kernelType = kernelOption[0] numSamples = matrix_x

一个java写的程序,求详细每一行的解释

问题描述 一个java写的程序,求详细每一行的解释 import java.util.Scanner; public class Test{ public static void main(String args[]){ Scanner input = new Scanner(System.in); final int a =50; final int b =10; int c = 0; int d = 2; while(c<a){ boolean e =true ; for(int divis

异步 非阻塞-求帮忙设计一个异步非阻塞服务器的程序

问题描述 求帮忙设计一个异步非阻塞服务器的程序 伪代码也可以,尽量使用linux下的函数.我不太明白,select到底实现的是异步还是同步,有的地方说异步,有的地方说同步,还有一种看似权威的说法是实质是同步,是一种伪异步而已.如果select算做异步的话,那么非阻塞又要如何实现呢?求大神!

日历-求帮写一个java小程序

问题描述 求帮写一个java小程序 读取txt文件,文件中有一个8位的日期(任意),读出并打印此日期开始的一个月日历 解决方案 String s="20160221"; SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); try { Date startDate=sdf.parse(s); Calendar c2=Calendar.getInstance(); Calendar c=Calendar.getI

stack-求助帮忙写一个java程序 有關“字庫搜尋” 有沒有其他人可以幫幫我:)

问题描述 求助帮忙写一个java程序 有關"字庫搜尋" 有沒有其他人可以幫幫我:) **词汇表搜索 # 在这个作业中,你需要写一个能够在一个文件中搜索一个词的应用程序.用户的输入时给出建议(只出现10 个) - 需要注意: 在基础阶段,你可以假设词语的文件已经按升序排列, 但在高级阶段,你的程序应该能够处理的话这是随机顺序. 该文件被加载到程序启动时的程序,即: java Assignment basic_word_list.txt 字表数据结构 您需要使用链表数据结构的单词列表.您需

跪求大神帮忙解决一个java问题

问题描述 跪求大神帮忙解决一个java问题 Invalid classpath publish/export dependency com.genuitec.runtime.library/com.genuitec.generic_6.0. The associated classpath container cannot be included in the published/exported module. 这个问题到底是啥意思,困扰一天了 解决方案 解决: 不要动eclipse.在控制台

跪求大神帮忙解决一个java语法问题

问题描述 跪求大神帮忙解决一个java语法问题 有行代码编译总是不能通过,我觉得是语法问题,但是找了很久都找不出来啊.请大婶帮忙解决,感激不尽. 解决方案 你的代码呢?你的代码呢? 解决方案二: 1.请把您的问题要点尽量在标题说明,大神都很忙,有时不会点进来看内容,会先用标题过滤一下:2.就算大神今天闲下来,您这也没代码可看啊. 解决方案三: 检查 1. 单词 有没有写错,2.命名是否不符合要求3.语法问题 需要看代码 解决方案四: 编译不通过的问题大致分为两种,1,语法错误.2.ide(ecl

c语言-求帮忙找问题,C语言程序

问题描述 求帮忙找问题,C语言程序 在一个学生成绩管理系统中,保存学生个人的成绩情况,其中包括学号,姓名,性别,5门课成绩.对所有成绩作如下处理: (1)从键盘输入10个学生的学号,姓名,性别,5门课成绩,并计算出每个人平均成绩,全班每门课的平均成绩,将原有数据和计算出的平均分数存放在磁盘文件"stu.c"中. (2)将上题"stu.c"文件中的学生数据,按每个人的平均分进行排序处理,将已排序的学生数据存入一个新文件"stu-sort"中. (3

js 求帮忙写一个正则表达式 要求只能输入 数字英文和汉字的 其他的一律不能输入

问题描述 js 求帮忙写一个正则表达式 要求只能输入 数字英文和汉字的 其他的一律不能输入 js 求帮忙写一个正则表达式 要求只能输入 数字英文和汉字的 其他的一律不能输入 解决方案 [d|A-z|u4E00-u9FFF]+这个可以匹配简繁中文和任意数字以及字母. 解决方案二: 网上找的,试一下行不行 ^[u4E00-u9FA5A-Za-z0-9]+$ 解决方案三: 我试了一下可以啊 <input id=""a"" type=""text&