请在java编程任务中需要帮助

时间:2013-11-27 08:37:12

标签: java arrays algorithm data-structures

如果它变得太长而无法阅读,我会事先道歉。我必须解决的问题是:

“在他完全悲惨的生活中,海盗Abraham Blaufelt一直在寻找失落的亚特兰蒂斯之宝。在1642年的一年非常幸运的一天,他进入了一个废弃的大教堂,在波兰古老的森林里已经没有了。在里面,他发现了一个神秘的古老羊皮纸。羊皮纸上写着:
旅行者,如果你想要达到你的目标,通过制造破碎的整体来追踪通过海洋的路径。

5,4 4,5 8,7
加上6,3 3,2 9,6 4,3
在前面添加7,6
加上9,8后 在前面添加5,5 7,8 6,5 6,4

Abraham Blaufelt立即知道他在处理什么。一个困惑的结果是通往宝藏的安全路线。这条路线至关重要,那时候大海正在被怪物爬行。自从这个近四百年前最幸运的日子以来,欧洲构造板块发生了重大变化。因此,所有坐标都必须移动(1,0)。

编写一个解决这个难题的程序。这必须通过以下方式完成: 从第一行的坐标开始,在后面添加第二行的坐标,然后在前面添加第三行的坐标等。为此赋值创建一个新的Coordinate和CoordinateRow类。后一类具有在前面或后面添加CoordinateRow的方法以及在前面或后面添加单个坐标的方法。 拼图的坐标是

5,4 4,5 8,7=6,3 3,2 9,6 4,3=7,6=9,8=5,5 7,8 6,5 6,4

每个CoordinateRow都以'='与另一个分开。连续的每个坐标都由一个空格分隔。坐标的x和y值用逗号分隔。 读完所有数据后,程序将在标准输出上打印宝藏路线。输出的正确路线是:

6,5
8,8
7,5
7,4
8,6
6,4
5,5
9,7
7,3
4,2
10,6
5,3
10,8 

问题结束。“

我的意思是我知道他们希望我创建类,但我不明白的是我如何制作将在数组后面或前面添加的方法。
我非常感谢你的帮助。我是一个初学者,从来没有编写过这样的东西,这就是为什么要求一些帮助 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您似乎陷入困境,因为您不熟悉从分配声明到解决方案设计的模型化工作。这对每个人来说都是一项艰巨的任务,而不仅仅是初学者。但是在你的任务中你已经有了一些指导原则。

首先,你必须了解你得到什么作为输入,你应该输出什么。在这种情况下,它是坐标...

作业的第一部分是某种故事,您必须从中提取算法问题。

  

因此,所有坐标都必须移动(1,0)。

这是您必须对输入进行转换才能获得所需的输出。

然后,您需要了解输入和输出的格式,以及如何在java中表示它们。指南已经需要一个,所以你应该问自己:

  • 什么是Coordinate
  • 什么是CoordinateRow?我可以用什么类材料或java api来实现它?
  • 如何从字符串"5,4"转到Coordinate
  • 如何从字符串"5,4 4,5 8,7"转到CoordinateRow
  • 好的如何从Coordinate转到#34; 5,4"
  • 等字符串?
  • 好的,如何从CoordinateRow转到程序输出?
  • 明确指定CoordinateCoordinateRow的方法是什么?
  • 我肯定需要的其他方法是什么?提示:记住上面的转换

此时你已经有了一个定义了方法的类结构,只需要填充它们。

答案 1 :(得分:0)

因为这是一项任务,我认为你不会在这里得到很多答案。

因为你是新人,我会给你一些可能有帮助的链接;

How can I dynamically add items to a Java array?

Java - Add Element to an Array

http://www.tutorialspoint.com/java/java_methods.htm

将来你应该做谷歌并先尝试一下,然后用你写的代码问问题。我也建议使用java文档,它非常好,可以在这里找到。

http://docs.oracle.com/javase/7/docs/api/

希望这些链接能帮到你:)。