黑马程序员技术交流社区
标题:
判断问题
[打印本页]
作者:
凝聚
时间:
2013-11-21 13:29
标题:
判断问题
本帖最后由 凝聚 于 2013-11-21 14:30 编辑
我想实现一个数如果它是14的倍数就返回该数组的下标。我的做法如下:
package addtest;
public class Test10 {
public static void main(String[] args) {
int[]a=new int[100];
int i;
for(i=1;i<+100;i++)
{
a
=1;
while(i%14==0)
{
a
=0;
System.out.println(i);
}
}
}}
可结果不对啊!
该怎么做啊?
作者:
发哥-阿花
时间:
2013-11-21 14:01
我把楼主代码while改成if,就打印了:14 28 42 56 70 84 98 不知可是楼主想要的答案?
<P> </P>
复制代码
作者:
smileven
时间:
2013-11-21 14:03
public class Test10 {
public static void main(String[] args) {
int[]a=new int[100];
int i;
for(i=0;i<100;i++){
a[i]=1;
if(i%14==0)
System.out.println(i);
}
}
}
(1) 你的for循环写错了,以后细心点就行了
(2)当遇到第一个能整除14的数时while会进入死循环,所以一直打印14。
作者:
qw无语
时间:
2013-11-21 14:10
package addtest;
public class Test 10{
public static void main(String[] args) {
int[] a = {10,14,23,40,42};
for (int i = 0; i < a.length; i++) {
if(a[i]%14==0){
System.out.println(i);
}
}
}
}
这样吗,题目意思不明确..
作者:
唐志海
时间:
2013-11-21 14:25
本帖最后由 唐志海 于 2013-11-21 14:28 编辑
第一:你程序里的while循环会导致当得到第一个14的倍数的时候就一直循环,变成了死循环。
第二:for(i=1;i<+100;i++)里面控制循环次数要注意别写错
第三:你的程序不严谨,数组下标都是从零开始的。下面是帮你修改的
public class Test10 {
public static void main(String[] args)
{
int[]a=new int[100];
int i;
for(i=0;i<100;i++)
{
a[i]=i+1;//数组的第一个数为1,。
if(a[i]%14==0)
{
System.out.println(i);
}
}
}
}
复制代码
作者:
徐君
时间:
2013-11-21 14:29
本帖最后由 徐君 于 2013-11-21 14:30 编辑
public class test4{
public static void main(String[] args) {
int length = 100;
int[] arr = new int[length];
for(int i=0;i<length;i++){
arr
= i;
if(i%14==0){
System.out.println(arr
);
}
}
}
}
你把while给成if就可以了。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2