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

用Java解PythonChallenge(第一天)

阅读更多
www.pythonchallenge.com是一个学习python语言的过关游戏,非常有意思。很早以前就知道了这个网站,但是因为python水平不佳,所以一直想等水平再高一点点再去玩。
周五的时候和同事们谈论起了Python,Ruby等动态语言与Java语言相比的一些优势,我举了pythonchanllenge中的第0题:计算2的38次方的例子,结果几个同事都对此产生了兴趣,不断的去用java来攻关,呵呵,希望大家也参与到进来,给出你的方法:)

玩法介绍:我代码注释中的网址就是题目,过关方式是将题目的答案替换掉url中的题号,比如第0题的题目是http://www.pythonchallenge.com/pc/def/0.html,过关方法就是计算出2的38次方以后,将答案274877906944.html替换掉0.html,http://www.pythonchallenge.com/pc/def/274877906944.html即第1题的题目,以此类推。

1.
import java.math.BigDecimal;

//http://www.pythonchallenge.com/pc/def/0.html
public class ChallengeZero {
	public static void main(String[] args) {
		BigDecimal a = new BigDecimal(2);
		BigDecimal b = a.pow(38);
		System.out.print(b);
	}
}


2.
public class ChallengeOne {
	// http://www.pythonchallenge.com/pc/def/map.html
	public static void main(String[] args) {
		String from = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj. ";
		//String from = "map";
		String to = new ChallengeOne().translate(from);

		System.out.println(to);
	}

	public String translate(String s) {
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < s.length(); i++) {
			if (String.valueOf(s.charAt(i)).matches("[A-Z]|[a-z]")) {
				if (s.charAt(i) == 'y') {
					sb.append('a');
				} else if (s.charAt(i) == 'z') {
					sb.append('b');
				} else {
					sb.append((char) (s.charAt(i) + 2));
				}
			} else {
				sb.append(s.charAt(i));
			}
		}
		return sb.toString();
	}
}

注:题目中的那串字符串的最终意思是让你用写好的转换方法来转换url中的单词,也就是map

3.
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class ChallengeTwo {
	// http://www.pythonchallenge.com/pc/def/ocr.html
	public static void main(String[] args) {
		try {
			BufferedReader br = new BufferedReader(new FileReader(System.getProperty("user.dir")+"\\ocr.txt"));
			String temp=null;
			while ((temp=br.readLine()) != null) {
				for(int i=0;i<temp.length();i++){
					if(String.valueOf(temp.charAt(i)).matches("[A-Z]|[a-z]")){
						System.out.print(temp.charAt(i));
					}
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

注:网页的源码中有用注释写的一段乱码,其中混杂着几个英文字母,我们要做的就是将其中的英文字母找出来
1
0
分享到:
评论

相关推荐

    java2python--java代码转python工具

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

    分别使用Java和Python实现希尔排序算法

    希尔排序:分别使用Java和Python实现希尔排序算法 希尔排序:分别使用Java和Python实现希尔排序算法 希尔排序:分别使用Java和Python实现希尔排序算法 希尔排序:分别使用Java和Python实现希尔排序算法 希尔排序:...

    GRPC简单应用(Java+Python)

    3. 生成Java代码:使用protoc编译器生成Java代码,这将创建一个服务接口和消息类型的Java类。 4. 实现服务端:创建一个实现了GreeterService的类,处理SayHello请求。 5. 启动服务端:创建一个主类,实例化Server...

    用java调用python

    Jython 是一个 Python 的 Java 实现,它允许你在 Java 平台上直接运行 Python 代码。通过 Jython,Java 可以直接调用 Python 类和模块,实现无缝集成。但要注意,Jython 不支持所有 Python 库,特别是 C 扩展的库。...

    分别使用Java和Python实现快速排序算法.zip

    快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法....

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

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

    用Java和Python实现约瑟夫环算法的代码示例.zip

    用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现...

    java调用python入门详解

    1. **Jython**: 为了在Java环境中运行Python代码,我们可以使用Jython,这是一种Python的Java实现。Jython使得Python代码可以直接被Java虚拟机(JVM)执行,从而实现Java和Python的无缝集成。 2. **Python脚本调用*...

    JAVA调用Python的接口

    java调用python脚本的工具类,可以通过在java项目中导入当前的jar包,可以来调用python的脚本代码来执行python。

    Java调用Python.zip

    Java和Python结合使用,可以充分利用Java的高效性能和Python的易用性及丰富的库资源。 Java调用Python主要依赖于Jython、Apache Beam、Java的Runtime类或者通过第三方库如Jython-Interpeter。这里我们主要讨论使用...

    分别用Java和Python实现遗传算法的简单示例.zip

    遗传算法:分别用Java和Python实现遗传算法的简单示例.zip 遗传算法:分别用Java和Python实现遗传算法的简单示例.zip 遗传算法:分别用Java和Python实现遗传算法的简单示例.zip 遗传算法:分别用Java和Python实现...

    java调用python脚本

    例如,"Java调用Python脚本"是一个常见的需求,特别是在数据处理、科学计算或机器学习等场景中,Python的强大库可以与Java的稳定性和企业级应用能力相结合。本教程将详细讲解如何在Java程序中调用Python脚本。 首先...

    基于Java和Python语言使用函数输出一个整数的逆序数.zip

    基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数...

    Java调用Python各个版本的jar包

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

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

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

    thrift 的 java 和 python结合例子

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

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

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

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

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

    python转java

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

Global site tag (gtag.js) - Google Analytics