源码转换-蓝桥杯



【编程题】(满分22分)


    超文本标记语言(即HTML),是用于描述网页文档的一种标记语言。


    HTML通过文本来描述文档显示出来应该具有的“样子”。它主要通过标签来定义对象的显示属性或行为。


    如果把java的源文件直接拷贝到HTML文档中,用浏览器直接打开,会发现本来整齐有序的源文件变成了一团遭。这是因为,文本中的许多回车和空格都被忽略了。而有些符号在html中有特殊的含义,引起了更复杂的局面。


    为了源文件能正常显示,我们必须为文本加上适当的标签。对特殊的符号进行转义处理。


    常用的有:
    HTML 需要转义的实体:
    &     --->  &
    空格  --->   
    <     --->  &lt;
    >     --->  &gt;
    "     --->  &quot;
    此外,根据源码的特点,可以把 TAB 转为4个空格来显示。
    TAB   --->  &nbsp;&nbsp;&nbsp;&nbsp;


    为了显示为换行,需要在行尾加<br/>标签。


    为了显示美观,对关键字加粗显示,即在关键字左右加<b>标签。比如:


    <b>public</b>


    对单行注释文本用绿色显示,可以使用<font>标签,形如:


    <font color=green>//这是我的单行注释!</font>


    注意:如果“//”出现在字符串中,则注意区分,不要错误地变为绿色。


    不考虑多行注释的问题(/* .... */ 或 /** .... */)


    你的任务是:编写程序,把给定的源文件转化为相应的html表达。


【输入、输出格式要求】


    与你的程序同一目录下,存有源文件 a.txt,其中存有标准的java源文件。要求编写程序把它转化为b.html。


    例如:目前的 a.txt 文件与 b.html 文件就是对应的。可以用记事本打开b.html查看转换后的内容。用浏览器打开b.html则可以看到显示的效果。


    注意:实际评测的时候使用的a.txt与示例是不同的。    


【注意】


    请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
    
    请把所有类写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可。
    
    相关的工程文件不要拷入。
    
    请不要使用package语句。
    

    源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。  




这题考io,io比较熟悉,其中tab键是"\t",别的没什么问题。

    
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

import org.omg.CORBA.Current;

public class translate {
	public static void main(String[] args) throws IOException {
	
		String path = "C:Users/lenovo/Desktop/蓝桥杯/决赛真题/Java本科/3/a.java";
		Scanner scanner = new Scanner(new File(path));
		while(scanner.hasNext()){
			PrintWriter out = new PrintWriter(new FileWriter(new File("C:Users/lenovo/Desktop/蓝桥杯/b.html"),true));
			String line = scanner.nextLine();      

			line = line.replaceAll("&", "&");
			line = line.replace(" ", " ");
			line = line.replace(">", ">");
			line = line.replace("<", "<");
			line = line.replace("\"", """);
			line = line.replace("\t", "    ");
			
			
			out.println(line+"<br>");
			out.close();
		}
	

		
		
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值