`
kukuqiu001
  • 浏览: 210663 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

python challenge challenge2之java解

阅读更多
第2题
1,需要查看页面源代码,源代码里有说明,在冗长的非字母字符里找到字母,就是进入下一题的答案
2,因为我们神奇国度的原因,有时网络不稳定,会被G*F*W,所以使用了代理。如果不需要代理,把设置代理的语句注释掉即可
3,使用两种方式来获得结果。一种使用原生的java代码,另一种用Apache common HttpClient 的jar包(附件里)



import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;



public class Challenge2Search {
	@SuppressWarnings("unused")
	private final static String alphabet = "abcdefghijklmnopqrstuvwxyz";
	
	public static void main(String[] args) throws IOException, InterruptedException {
		// set proxy
		System.getProperties().setProperty("proxyHost", "127.0.0.1");
		System.getProperties().setProperty("proxyPort", "8580");
		
		URL url = new URL("http://www.pythonchallenge.com/pc/def/ocr.html");
		BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
		int i = reader.read();
		StringBuilder builder = new StringBuilder();
		while(i!= -1){
			if((i <= 'z' && i >= 'a')||(i <= 'Z' && i >= 'A')){
				builder.append((char)i);
			}
			i = reader.read();
		}
		String builderString = builder.toString();
		System.out.println(" result = " + builderString.substring(builderString.indexOf("below")+5));
		
		// close proxy
		System.getProperties().setProperty("proxyHost", "");
		System.getProperties().setProperty("proxyPort", "");
		
		
//		HttpClient client = new HttpClient(); 
                // set proxy
//		client.getHostConfiguration().setProxy("127.0.0.1", 8580);
		
//		GetMethod get = new GetMethod("http://www.pythonchallenge.com/pc/def/ocr.html");
//		client.executeMethod(get);
//		String pageInfo = get.getResponseBodyAsString();
//		get.releaseConnection();
//		System.out.println("result = " + getAlphabetFromString(subStr(pageInfo)));
	}
	
	
	public static String getAlphabetFromString(String str){
		StringBuilder out = new StringBuilder();
	    for(int i = 0 ; i < str.length(); i++){
//	    	int asciiChar = (int)str.charAt(i);
	    	if(alphabet.indexOf(str.charAt(i))!=-1)
	    	    out.append(str.charAt(i));
	    }
		return out.toString();
	}
	
	public static String subStr(String str){
		String includeReturnStr = str.substring(str.lastIndexOf("<!--")+4, str.lastIndexOf("-->"));
		return includeReturnStr;
	}
}

分享到:
评论

相关推荐

    pythonchallenge level2官方方法集

    标题和描述均提到了"pythonchallenge level2官方方法集",这表明文章主要聚焦于Python Challenge网站上第二级挑战的官方解决策略集合。Python Challenge是一个知名的编程谜题网站,通过一系列精心设计的谜题来测试和...

    coding_challenge:Jungi和Hui的Python和Java的Leetcode和HackRank解决方案

    在这个名为“coding_challenge”的压缩包中,我们找到了Jungi和Hui两位编程爱好者分享的Python和Java语言在解决LeetCode和HackRank上的编程挑战。这些挑战通常涉及到算法、数据结构和逻辑思维,是提升编程技能和准备...

    evreka-challenge-源码.rar

    在这个压缩包中,我们可能找到的文件类型包括但不限于`.cpp`(C++)、`.java`(Java)、`.py`(Python)或其他编程语言的源文件,以及`.h`(头文件)和`.txt`(文本文件)等。 源码分析是理解软件工作原理的关键...

    stoerk-tronic-comander-challenge-源码.rar

    2. **编程挑战**:"Challenge"一词暗示这可能是一个编程竞赛或训练项目,挑战者需要解决特定的编程问题,如算法设计、性能优化或者特定功能实现。这通常涉及到算法和数据结构的学习,例如排序、搜索、图论、动态规划...

    Challenge-源码.rar

    例如,一个Web应用的源码可能包括HTML、CSS和JavaScript文件,以及服务器端的脚本(如Python、Java或Node.js)。如果这是一个开源项目,它可能会包含README文件,用于介绍项目的目的、安装步骤和使用方法。此外,还...

    java前后端分离源码-code-challenge-backend:希望加入Doro团队的后端开发人员面临的编码挑战

    Python、Java 或 node.js 是不错的选择 测试(对所选解决方案进行适当的测试) Linter(您选择的) 指示 Fork 这个 repo,或者如果你不想 fork,把你自己的私有化并邀请我们 构建一个干净而健壮的解决方案 在您选择...

    Skillrack-Daily-Challenge-And-Daily-Test-源码.rar

    描述中的内容简单明了,仅提及了源码,意味着我们期待找到的是各种编程语言的代码文件,比如Python、Java、C++或JavaScript等。这些源代码可能包含了不同难度级别的挑战,覆盖了基础语法、数据结构、算法以及更高级...

    2018-phm-data-challenge-master_PHM_2018_PHO_propergnf_zip.zip

    该压缩包文件"2018-phm-data-challenge-master_PHM_2018_PHO_propergnf_zip.zip"包含的是一个名为"2018-phm-data-challenge-master"的项目,该项目可能与2018年的一个预测性健康管理(PHM,Predictive Health ...

    qa-challenge-task-源码.rar

    2. **编程语言**:源码的编写通常使用某种编程语言,例如Java、Python、C++或JavaScript。分析源码时,需要对所使用的编程语言有深入的理解,包括语法、数据类型、控制结构、函数和类的使用等。 3. **编程规范**:...

    java源码无法显示-display-advertising-challenge:CTR预测的Criteo/Kaggle竞赛

    java源码无法显示展示广告挑战 描述 这是为 . 由于数据非常稀疏,基本方法是使用逻辑回归和适当的二次/多项式特征生成和正则化来制作复杂且过拟合易于处理的模型。 是用于该项目的主要机器学习软件。 由于我的个人...

    leetcode卡-Leetcode-MAY-Challenge:这个存储库是为LeetcodeMayChallenge的cpp、python

    Challenge 的 C++、Java 和 Python 解决方案制作的。 先尝试自己解决这些问题,然后您可以参考这些解决方案。 接受此处提供的所有解决方案,并注意约束。 这是问题的链接:这个存储库是为 Leetcode May Challenge 的...

    Long-Challenge-codechef

    在算法竞赛中,Python虽然可能在运行速度上不如C++或Java,但其强大的功能和易于学习的特点使得它成为许多参赛者的首选语言。对于Long Challenge中的问题,Python可以有效地实现各种复杂算法,包括搜索、排序、图论...

    基于python的开放领域事件抽取系统源码数据库论文.doc

    enhance customer stickiness, and facilitate rapid product updates and iterations, it is necessary to collect and analyze customer feedback information, which poses the challenge of quickly processing...

    2018-phm-data-challenge-master_PHM_2018_PHO_propergnf_zip_源码.zip

    通常,这样的文件会包含各种编程语言的代码文件,例如Python、Java、C++或R,以及可能的配置文件、数据集、README文档等资源。 对于这样一个项目,我们可以预期以下知识点: 1. **数据预处理**:在预测性维护中,...

    leetcode答案-October-LeetCoding-Challenge:此存储库包含迄今为止所有10月LeetCode挑战的答案

    每个题目通常会有多种解法,包括但不限于Java、C++、Python等语言,这使得学习者可以根据自己的偏好选择合适的实现方式。 1. 数据结构:LeetCode的题目中,数据结构的运用十分广泛,例如数组、链表、栈、队列、堆、...

    leetcode蓄水池JAVA-December-LeetCoding-Challenge:十二月-LeetCoding-Challenge

    蓄水池JAVA 十二月 LeetCoding 挑战 这是一个挑战,由 12 月份的 31 道日常问题组成。 每天都会添加一个问题,我们有 24 小时的时间来进行有效的提交。 在截止日期过后,我将在此存储库中上传我的解决方案,以便对...

    leetcode2sumc-LeetCode-May-Challenge:在这个存储库中,我将添加MayChallenge中出现的每个问题的解

    解决方案可以用以下三种语言中的任何一种编写:C++、Python 或 Java。 第 1 周: 第一个坏版本 珠宝和石头 赎金记录 数字补码 字符串中的第一个唯一字符 多数元素 二叉树中的表亲 第 2 周: 检查它是否是一条直线 ...

    扩展矩阵leetcode-algorithm-challenge-python:这是Python中的算法挑战池

    算法挑战-python 来自 CareerCup、GlassDoor、LeetCode 或其他托管问题的站点的问题的 Java 解决方案的集合。 如果您有任何问题或想与我分享您的想法,请给我一张票 :beaming_face_with_smiling_eyes: . 请记住,当...

Global site tag (gtag.js) - Google Analytics