`
jythoner
  • 浏览: 609003 次
  • 性别: 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
分享到:
评论

相关推荐

    java2python--java代码转python工具

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

    java For python 程序员

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

    GRPC简单应用(Java+Python)

    二、Java实现GRPC 1. 安装和配置:首先,你需要在Java项目中添加GRPC和protobuf的依赖。在Maven或Gradle的build文件中,加入相应的依赖项。 2. 定义.proto文件:创建一个名为`helloworld.proto`的文件,定义一个...

    用java调用python

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

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

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

    java调用python入门详解

    1. **Jython**: 为了在Java环境中运行Python代码,我们可以使用Jython,这是一种Python的Java实现。Jython使得Python代码可以直接被Java虚拟机(JVM)执行,从而实现Java和Python的无缝集成。 2. **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的第三方包,在java工程中直接引用即可,亲测可用

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

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

    python转java

    Python 以其简洁的语法和丰富的库资源受到很多开发者的喜爱,而 Java 则因为其跨平台性、稳定性以及在企业级应用中的广泛使用而备受青睐。在某些情况下,开发者可能需要将已有的 Python 代码转换为 Java 代码,以...

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

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

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

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

    java与python的区别.pdf

    Java和Python是目前流行并广泛应用的两种编程语言,各有其特点和应用场景。Java是一种静态类型、面向对象的编程语言,它通过Java虚拟机来执行代码,保证了代码的平台无关性。而Python是一种动态类型的解释型语言,以...

    java_python_socket.zip

    本示例是关于如何使用Java和Python进行Socket通信的演示。 在Java中,Socket类位于`java.net`包下,提供了创建TCP连接的能力。在服务器端,我们需要创建一个ServerSocket监听特定的端口,等待客户端的连接请求。...

    java中调用python的必备jar包

    在Java中想要调用python程序,可以加入python的依赖包。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。...

    C_C++_Java_Python——API

    本资源"**C_C++_Java_Python——API**"很可能包含有关这四种编程语言中的API设计、使用和最佳实践的信息。下面将对C、C++、Java和Python这四种语言的API进行深入探讨。 C语言API: C语言是底层编程的基础,它的API...

    验证码识别(java与python解决方案)

    2. **字符分割**:Java中可以使用`Java2D`或第三方库如`ImageProcessor`进行字符切割。 3. **特征提取和识别**:`Tess4J`可以直接进行字符识别,如果需要使用深度学习模型,可以借助`Deeplearning4j`等库构建和训练...

Global site tag (gtag.js) - Google Analytics