我將以我對Java非常新的陳述開頭提出我的問題,所以如果我的代碼完全令人厭惡,請致以道歉。我是否從我的方法中返回了正確的值,並且我正確寫入了它?
我在做什麼:我正在編寫一個程序,它接受來自用戶的兩個整數,一個低值和一個高值,並將這兩個整數發送給兩種不同的方法。方法#1有一個簡單的for循環,並且應該打印出3或5的倍數最小的數字和最大的數字之間的所有數字,而方法#2除了3或5倍數的數字以外還會檢查這個數字是否也是6的倍數,如果是,它會在旁邊打印數字和星號。
我遇到了什麼問題:我非常難以理解我需要從我的方法返回的內容&如何返回任何東西。這是我第一次正確地使用一種方法(剛剛從「Hello World」中移出),並且從我所看到的我根本不需要返回任何東西。所有我放入我的代碼。方法非常完整的計劃,所以我想也許回來時,我發就足夠了整數,顯然它不是那麼,事不宜遲,這裏是我的代碼
的錯誤:
javac BonusQ.java
.\MethodOne.java:19: error: illegal start of type
return(int lowestRange, int highestRange);
^
.\MethodTwo.java:36: error: illegal start of type
return(int lowestRange, int highestRange);
^
The Main:
import java.util.Scanner;
public class BonusQ
{
public static void main(String [] args)
{
Scanner scan = new Scanner(System.in);
int lowestRange = 0;
int highestRange = 0;
System.out.println("Enter the lowest integer in your range");
lowestRange = scan.nextInt();
System.out.println("Enter the highest integer in your range");
highestRange = scan.nextInt();
MethodOne.NoAsterisk(lowestRange, highestRange);
MethodTwo.Asterisk(lowestRange, highestRange);
}
}
MethodOne:
public class MethodOne
{
public static int NoAsterisk(int lowestRange, int highestRange)
{
for(int i = lowestRange; i <= highestRange; i++)
{
if (i%5 == 0)
{
System.out.println(i);
}
else if (i%3 == 0)
{
System.out.println(i);
}
}
}
return(int lowestRange, int highestRange);
}
MethodTwo:
public class MethodTwo
{
public static int Asterisk(int lowestRange, int highestRange)
{
for(int i = lowestRange; i <= highestRange; i++)
{
if (i%5 == 0)
{
if (i%5 == 0 && i%6 == 0)
{
System.out.println(i + "*");
}
else
{
System.out.println(i);
}
}
else if (i%3 == 0)
{
if (i%3 == 0 && i%6 == 0)
{
System.out.println(i + "*");
}
else
{
System.out.println(i);
}
}
}
}
return(int lowestRange, int highestRange);
}
很抱歉,如果帖子是有點結實的閱讀,我只是覺得,添加的代碼我的想法可能會幫助你解釋我怎麼了,看到你可能不知道我的無能的程度:)
在此先感謝。
謝謝!這就像每次我在這裏問一個問題都是我需要改變的一件事情,我可能會很快限制我的問題:( – notywq 2014-11-04 20:21:35
不客氣,只是很好,他們可能會讓你留下:) – yts 2014-11-04 20:24:33