其他分享
首页 > 其他分享> > 2

2

作者:互联网

第一次博客作业

前言
采坑心得
目录
目录

前言

第一次题目运用到的知识点不多,接收数字、字符串的输入,按所给要求判断输出即可。题目量中规中矩,难点大多集中在一些非法输入、边界输入上,比较容易卡测试点。
第二次题目都是对字符串的处理,只有三道题,题目量较小,比较难的是7-2 串口字符解析,情况繁多,情况分类不明确的话也容易卡住。
与前两次作业相比,第三次题目涉及到的知识点就比较多了,字符串的解析,输入检查,坐标的获取....等等,虽然只有三道题,但题目量是真的多。难点?代码一旦多起来,你会发现到处都是难点 Σ( ̄ロ ̄lll)。(直接emo了)

设计与分析

题目集2
7-2 串口字符解析

public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	String str = input.nextLine();
	int ln = str.length();
	if(ln<11) {
		System.out.print("null data");
		return;
	}
	int num = 0;
	int denum = 0;
	int ka = 0;
	int ji = 0;
	for(int i = 0;i < ln;i++) {
			if(str.charAt(i)=='0'&&ka==0&&denum==0) {
				num++;
				if(ln - i >= 11) {
					ji = 0;
					
					if(num>1)
						System.out.print("\n" + num + ":");
					else
						System.out.print(num + ":");
					
					for(int z = i+1;z<=i+8;z++) {
						if(str.charAt(z)=='1') 
							ji++;
					}
					ji = ji % 2;
					if(str.charAt(i+10)!='1') {
							System.out.print("validate error");
						i = i + 10;
                        continue;
					}
					else 
                        if((str.charAt(i+9)=='0'&&ji==0)||(str.charAt(i+9)=='1'&&ji==1)) {
							    System.out.print("parity check error");
							i = i + 10;
                            continue;
						}
						else {
							ka = 1;
							}
					
				}
				else {
					return;
				}
			}
			if(ka == 1) {
				denum++;
				if(denum>1&&denum<10) {
					System.out.print(str.charAt(i));
				}
				if(denum==11) {
					denum =0;
					ka = 0;
				}
			}
			
		}
	
	if(num == 0) {
		System.out.println("null data");
	}
			
}

采坑心得

改进建议

总结

标签:,难点,题目,System,num,字符串,输入
来源: https://www.cnblogs.com/5516-pan/p/16122961.html