如果我要在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>
谢谢.
似乎我的代码不适用于项目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)
似乎数学的基本原理只是在逃避我,如果我无法找到解决这样一个简单问题的方法,这真的会让我不能成为一名程序员.