`
jythoner
  • 浏览: 608163 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用Java解PythonChallenge(第二天)

阅读更多
3.
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ChallengeThree {
	// http://www.pythonchallenge.com/pc/def/equality.html
	public static void main(String[] args) {
		try {
			BufferedReader br = new BufferedReader(new FileReader("c:\\4.txt"));
			Pattern pattern = Pattern
					.compile("[^A-Z]+[A-Z]{3}([a-z])[A-Z]{3}[^A-Z]+");
			Matcher matcher;
			String temp = null;

			while ((temp = br.readLine()) != null) {
				matcher = pattern.matcher(temp);
				while (matcher.find()) {
					System.out.print(matcher.group(1));
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


注:与上一题类似,网页的源码中有用注释写的一段乱码,让我们找出两侧被3个(且只为3个)大写字母包围的小写字母

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

public class ChallengeFour {
	// http://www.pythonchallenge.com/pc/def/linkedlist.html
	public static void main(String[] args) {
		ChallengeFour cf = new ChallengeFour();
		try {
			String currentNum = "12345";
			while (currentNum.matches("[0-9]{1,}")) {
				System.out.println(currentNum);
				if (currentNum.equals("92118")) {
					currentNum = cf.getNextNum(String.valueOf(Integer
							.parseInt(currentNum) / 2));
				} else {
					currentNum = cf.getNextNum(currentNum);
				}
			}
			System.out.println("The last result is " + currentNum);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public String getNextNum(String currentNum) throws IOException {
		URL url = new URL(
				"http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing="
						+ currentNum);
		BufferedReader br = new BufferedReader(new InputStreamReader(
				new BufferedInputStream(url.openStream())));
		String temp = null;
		String[] strings = null;
		while ((temp = br.readLine()) != null) {
			strings = temp.split(" ");
		}
		br.close();
		return strings[strings.length - 1];

	}
}

注:点击图片,调用linkedlist.php?nothing=12345得到了and the next nothing is 92512 从中得到规律,根据每次获得的nothing值来进行下次url访问。


4.
这道题需要用到python专有的一个核心模块,java无解,直接google答案,进入下一题
1
0
分享到:
评论

相关推荐

    分别使用Java和Python实现二分查找算法

    二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:...

    java2python--java代码转python工具

    Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...

    java For python 程序员

    1. Java教程是为Python程序员准备的,目的是帮助已经熟练使用Python的开发者快速学习Java语言,并迁移到Java编程环境上。 2. Java教程同样适合那些想掌握大数据基础技能的算法工程师,因为Java是处理大数据领域中...

    用java调用python

    它允许 Python 程序直接使用 Java 类库,反之亦然。JPype 是一种轻量级的解决方案,适用于需要在 Python 和 Java 之间共享数据和对象的场景。 无论选择哪种方式,都要注意以下几点: - 错误处理:确保捕获并处理...

    java2python, 将Java源代码转换为 python的简单但有效的库.zip

    java2python, 将Java源代码转换为 python的简单但有效的库 java2python简单而有效的工具将Java源代码转换为 python 。java2python包可以翻译任何语法有效的Java源代码文件。 生成的python 代码不能保证运行,也不...

    java调用python脚本

    如果你正在使用Apache相关的框架(如Spring Boot),可以考虑使用`ScriptEngineManager`配合`PythonScriptEngine`来执行Python代码,这将提供更高级别的接口,支持直接在Java环境中执行Python代码。 在提供的...

    Java调用Python各个版本的jar包

    如果你需要在Java中调用Python 2.x和3.x的不同版本,可能需要寻找其他解决方案,比如使用JPyLib或其他第三方库。 JPyLib是一个Java与Python互操作的库,它允许Java代码直接调用Python函数,反之亦然。通过JPyLib,...

    Java调用python所用到的jar包

    "Java调用python所用到的jar包"指的是Java为了与Python进行通信而使用的特定库。下面将详细阐述这一主题,包括相关的Java接口、jar包的使用方法以及如何在实际项目中实现Java调用Python。 首先,Java与Python的交互...

    模拟退火算法的实现:分别使用Java和Python实现模拟退火算法的编程.zip

    模拟退火算法的实现:分别使用Java和Python实现模拟退火算法的编程.zip 模拟退火算法的实现:分别使用Java和Python实现模拟退火算法的编程.zip 模拟退火算法的实现:分别使用Java和Python实现模拟退火算法的编程.zip...

    thrift 的 java 和 python结合例子

    在这个"thrift的java和python结合例子"中,我们将探讨如何使用Thrift在Java和Python之间建立通信。 首先,Thrift通过定义接口描述文件(.thrift)来规范服务的接口。这个文件使用Thrift IDL(Interface Description...

    应用Java和Python实现冒泡排序算法

    冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python...

    java+python实现圣诞节雪花漫天飞舞

    java+python实现圣诞节雪花漫天飞舞java+python实现圣诞节雪花漫天飞舞java+python实现圣诞节雪花漫天飞舞java+python实现圣诞节雪花漫天飞舞这个项目是使用Java和Python编写的一个圣诞节主题的雪花飘舞特效。...

    Java通过python命令执行DataX任务

    在Python脚本中,我们可以使用`subprocess`模块来执行DataX命令行工具,并传入上述配置文件路径作为参数: ```python import subprocess def run_datax_job(config_file_path): cmd = ["datax", "localrun", ...

    selenium+java+python自动化测试

    【标题】"selenium+java+python自动化测试" 涉及到的是使用Selenium这一强大的Web自动化测试工具,结合Java和Python两种编程语言进行网页自动化测试的方法和实践。Selenium是一个开源的测试框架,它允许开发人员模拟...

    应用Java和Python分别实现堆排序算法

    堆排序:应用Java和Python分别实现堆排序算法; 堆排序:应用Java和Python分别实现堆排序算法; 堆排序:应用Java和Python分别实现堆排序算法; 堆排序:应用Java和Python分别实现堆排序算法; 堆排序:应用Java和...

    java调用python中的自定义函数函数

    此外,如果你的Python环境不是Jython,还可以考虑使用其他工具,如`jpype`(Java-Python Bridge)或`py4j`,它们提供了不同的方式来实现Java和Python之间的通信。 总结来说,Java调用Python自定义函数主要依赖于如...

    Python 调用Java实例详解

    Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境  1 安装 jpype1 安装后测试代码:  from jpype import * startJVM(getDefaultJVMPath(), "-ea...

Global site tag (gtag.js) - Google Analytics