我是非常新的(并且非常可怕)在java,并且有一个课程作业,你正在采用可靠的大小来缩放西雅图太空针塔的ascii图像。 成品应该看起来像这样: http://www.garfieldcs.com/wordpress/wordpress/wp-content/uploads/2009/09/Garfield-HS-AP-CS-space-needle-expected_output.txt
所以,我遇到的一个问题是你应该主要使用嵌套For循环和Multiple Methods。也就是说,我无法获得所有方法都能识别的相同整数( SIZE )。 目前这就是我所拥有的:
public static int SizeQuestion(int SIZE) {
Scanner sc = new Scanner(System.in);
System.out.println("Please enter the size.");
SIZE = sc.nextInt();
return SIZE; }
所以希望我可以从任何方法调用 SIZE ,假设我首先调用 SizeQuestion 。但是,我不确定我是否能够正常工作。代码的下一部分包括我提到的一些嵌套for循环,但我不能确定它是否实际使用 SIZE 变量。
public static void ziggurat(int SIZE) {
for(int line = 1; line <= SIZE; line++) {
for(int i = 1; i <= (SIZE - line) * 4; i++) {
System.out.print(" ");
}
System.out.print(" ");
for(int i = 1;i <= (line - 1) * 4; i++) {
System.out.print(" ");}
System.out.println("||");}
for(int line = 1; line <= SIZE; line++) {
for(int i = 1; i <= (SIZE - line) * 4; i++) {
System.out.print(" ");}
System.out.print("___/");
for(int i = 1;i <= (line - 1) * 4; i++) {
System.out.print(":");}
System.out.print("||");
for(int i = 1; i <= (line - 1) * 4; i++) {
System.out.print(":");}
System.out.print("\\___");
System.out.println();}
对不起,如果格式有点乱,java代码不喜欢被复制粘贴。
问题是,代码的“简单”部分,调用方法不起作用。
public static void main(String []args) {
SizeQuestion();
ziggurat();
}
Eclipse给我一个错误说:
Project1类型中的SizeQuestion(int)方法不适用于arguments()
我真的很想有人回答这个问题,因为这项任务已经很晚了,说实话,我不能放心,因为我的所有资源都不会超过方法调用和返回。
答案 0 :(得分:0)
第一件事:您在方法SizeQuestion
中传递一个参数,这是不必要的。因为SizeQuestion不需要任何争论来执行其代码。所以改变循环如下:
public static int SizeQuestion()
将主要方法更改为:
public static void main(String []args) {
ziggurat(SizeQuestion());
}
它的作用:SizeQuestion()
方法将从用户那里获取问题的大小并将其传递给ziggurat
方法。
答案 1 :(得分:0)
方法只有在需要对其进行操作时才应该使用参数。在您的情况下,SizeQuestion
采用整数参数并且不执行任何操作。此方法唯一需要做的是返回用户输入值。因此,您可以修改SizeQuestion方法并从中删除int参数。
public static int SizeQuestion() {
Scanner sc = new Scanner(System.in);
System.out.println("Please enter the size.");
int size= sc.nextInt();
return size;
}
您的主要方法如下所示:
public static void main(String []args) {
int size = SizeQuestion();
ziggurat(size);
}
答案 2 :(得分:0)
您未提供所需参数 e.g。
public static void main(String []args) {
SizeQuestion(1);
ziggurat(1);
}
您可以将SIZE变量定义为类变量或实例变量以解决您的问题。 例如
public class CalculateSize{
public static int SIZE = 0;
public static int SizeQuestion() {
Scanner sc = new Scanner(System.in);
System.out.println("Please enter the size.");
SIZE = sc.nextInt();
return SIZE;
}
public static void ziggurat() {
for(int line = 1; line <= SIZE; line++) {
for(int i = 1; i <= (SIZE - line) * 4; i++) {
System.out.print(" ");
}
System.out.print(" ");
for(int i = 1;i <= (line - 1) * 4; i++) {
System.out.print(" ");}
System.out.println("||");}
for(int line = 1; line <= SIZE; line++) {
for(int i = 1; i <= (SIZE - line) * 4; i++) {
System.out.print(" ");}
System.out.print("___/");
for(int i = 1;i <= (line - 1) * 4; i++) {
System.out.print(":");}
System.out.print("||");
for(int i = 1; i <= (line - 1) * 4; i++) {
System.out.print(":");}
System.out.print("\\___");
System.out.println();
}
public static void main(String []args) {
SizeQuestion();
ziggurat();
}
}