public class practice extends ConsoleProgram {
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
public void run () {
for (int i = 0; i<=10; i+=2){
for (int j = 1; j < 10; j*=2) {
println( max(i,j));
}
}
}
}
这段代码有什么问题吗?当我运行它时,我没有得到任何max(i,j),但是连续只有一个数字。
答案 0 :(得分:0)
请参阅代码中的注释:
public class practice extends ConsoleProgram {
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
public void run () {
for (int i = 0; i<=10; i+=2){
for (int j = 1; j < 10; j*=2) {
System.out.println( max(i,j)); // instead of println() unless static import
}
}
}
}
测试一下: http://ideone.com/YNXsKA
答案 1 :(得分:0)
您不必编写自己的max()
。重写程序员zyllion测试的库方法不是一个好习惯,你可以在自己的实现中轻易搞错。这works:
class Ideone
{
public static void main (String[] args)
{
for (int i = 0; i <= 10; i += 2)
{
for (int j = 1; j < 10; j *= 2)
{
System.out.println(Math.max(i,j));
}
}
}
}
答案 2 :(得分:0)
我和普通的java程序一样
package com;
public class TestRun {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 0; i<=10; i+=2){
for (int j = 1; j < 10; j*=2) {
System.out.println( max(i,j));
}
}
}
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
}
我得到的输出是
1 2 4 8 2 2 4 8 4 4 4 8 6 6 6 8 8 8 8 8 10 10 10 10
这是你期待的吗?
答案 3 :(得分:0)
“我实际上期待看到max(i,j),我意识到我做错了......”
如果你想写字符串,你必须在引号中使用它,如:
System.out.println("max(i,j)");