小编Ota*_*nan的帖子

创建我自己的增强for循环

如果我要在Java中创建自己的数据类型,我想知道我是如何做到的,如果可能的话,将它"增强为循环兼容".例如:

System.out.println(object); //This implicitly calls the object's toString() method
Run Code Online (Sandbox Code Playgroud)

现在,如果我想用自己的数据类型做一个增强的for循环,我该怎么做?

MyList<String> list = new MyList<>();
for(String s : list)
    System.out.println(s);
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的数据类型被识别为一个数组,所以我可以将它弹出到一个for循环中?我是否扩展了一些课程?我宁愿不扩展一个预制类,如ArrayList或List,但也许还有其他一些类,比如Comparable <T>

谢谢.

java generics for-loop

7
推荐指数
1
解决办法
589
查看次数

项目欧拉,#1

似乎我的代码不适用于项目Euler,问题1.问题表明:

如果我们列出10以下的所有自然数是3或5的倍数,我们得到3,5,6和9.这些倍数的总和是23.

求出1000以下3或5的所有倍数的总和.

我的程序的输出是

266333

我的代码是:

private static final int max = 1000;
    private static int sum;

    public static void main(String[] args)
    {
        addMultiples(3);
        addMultiples(5);
        System.out.println(sum);
    }

    private static void addMultiples(int mult)
    {
        int x = mult;
        while(x < max)
        {
            sum += x;
            x += mult;
        }
    }
Run Code Online (Sandbox Code Playgroud)

似乎数学的基本原理只是在逃避我,如果我无法找到解决这样一个简单问题的方法,这真的会让我不能成为一名程序员.

java math logic

0
推荐指数
1
解决办法
452
查看次数

标签 统计

java ×2

for-loop ×1

generics ×1

logic ×1

math ×1