哈理工 OJ 2301 行编辑器(java)
Posted fengmizi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈理工 OJ 2301 行编辑器(java)相关的知识,希望对你有一定的参考价值。
行编辑器 | ||||||
|
||||||
Description | ||||||
这次我们要写一个简单的行编辑器,当按下‘#’时代表按下了一次退格符,当按下‘@’时代表一个退行符(使当前行的字符全部无效)。例如,假设从终端接收了这样的两行字符: Whil#lr#e(s#*s) outcha@putchar(*s=#++) 则实际有效的是下列两行: While(*s) putchar(*s++) 请你编写一个程序,输出实际有效的字符串。 |
||||||
Input | ||||||
第一行是一个整数T,表示测试数据组数。 接下来每行为一个字符串(不含空格和任何空白),表示输入的原始字符串
|
||||||
Output | ||||||
输出最终的正确字符串。 |
||||||
Sample Input | ||||||
2 Whil#lr#e(s#*s) outcha@putchar(*s=#++)
|
||||||
Sample Output | ||||||
While(*s) putchar(*s++)
|
||||||
Source | ||||||
2016级新生程序设计全国邀请赛 |
1 import java.util.Scanner; 2 import java.util.Date; 3 4 public class Main { 5 public static void main(String[] args) { 6 Scanner sc = new Scanner(System.in); 7 8 int n; 9 n=sc.nextInt(); 10 sc.nextLine(); 11 for(int j=0;j<n;j++) 12 { 13 String str1 = sc.nextLine(); 14 char[] char1 = str1.toCharArray(); 15 //System.out.println("字符串的长度是" + char1.length); 16 char[] char2 = new char [char1.length+2]; 17 int char2_length=0; 18 for(int i=0 ;i<char1.length;i++) 19 { 20 if(char1[i]==‘#‘) 21 { 22 if(char2_length!=0) 23 char2_length -=1; 24 } 25 else if(char1[i]==‘@‘) 26 { 27 char2_length=0; 28 } 29 else 30 { 31 char2[char2_length] = char1[i]; 32 char2_length+=1; 33 } 34 } 35 for(int i=0;i<char2_length;i++) 36 System.out.print(char2[i]); 37 System.out.println(); 38 } 39 40 } 41 42 }
以上是关于哈理工 OJ 2301 行编辑器(java)的主要内容,如果未能解决你的问题,请参考以下文章