此程序实现一个一维数组所有个元素的乘积,错在哪?

haoahoxueJAVA 2004-11-18 01:15:55
此程序实现一个一维数组所有个元素的乘积
public class M
{
int []a={1,2,3,4,5,};
int b=0,c=0;
public static void main(String [] args)
{
for(int i=0;i<a.length;i++)
{
b=a[i];
c=a[i]*a[i+1];
b=c;
}
System.out.println(c);
}
}

运行时报错,请高手指点,错在哪?
...全文
134 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chinatosun 2004-11-18
  • 打赏
  • 举报
回复
public class M
{
static int []a={1,2,3,4,5};
static int c;
public static void main(String [] args){
if(a.length>0){
c=a[0];
}
for(int i=1;i<a.length;i++){
c=c*a[i];
}
System.out.println(c);
}
}
Chinatosun 2004-11-18
  • 打赏
  • 举报
回复
public class M
{
static int []a={1,2,3,4,5};
int c;
public static void main(String [] args){
M m = new M();
if(m.a.length>0){
m.c=m.a[0];
}
for(int i=1;i<m.a.length;i++){
m.c=m.c*a[i];
}
System.out.println(m.c);
}
}
classjava 2004-11-18
  • 打赏
  • 举报
回复
import java.util.*;

public class M
{
static int []a={1,2,3,4,5,};
static int b=0,c=0;
public static void main(String [] args)
{
for(int i=0;i<a.length;i++)
{
b=a[i];
if(i+1<a.length)
{ c=a[i]*a[i+1];
b=c;
System.out.println(c);
}
}
}
}
ChDw 2004-11-18
  • 打赏
  • 举报
回复
而且这个程序不就是算一个乘积吗?怎么这么复杂!

static int []a={1,2,3,4,5};
public static void main(String[] args) throws Exception {
int result = 1;
for(int i=0;i<a.length;i++)
{
result *= a[i];
}
System.out.println(result);

jFresH_MaN 2004-11-18
  • 打赏
  • 举报
回复
public class M
{
int []a={1,2,3,4,5};
int b=0,c=0; //潜在问题: 数据长度溢出
public static void main(String [] args)
{
M m = new M();
int sum=1;
for(int i=0;i<m.a.length;i++)
{
sum *=m.a[i];
}
System.out.println(sum);
}
}
yaray 2004-11-18
  • 打赏
  • 举报
回复
//格式对齐了一下:
public class M
{
int []a={1,2,3,4,5};
int b=0,c=0; //潜在问题: 数据长度溢出
public static void main(String [] args)
{
M m = new M();
for(int i=0;i<m.a.length;i++)
{
m.b=m.a[i];
m.c=m.a[i]*a[i+1];
m.b=m.c;
}
System.out.println(m.c);
}
}
yaray 2004-11-18
  • 打赏
  • 举报
回复
public class M
{
int []a={1,2,3,4,5,};
int b=0,c=0;
public static void main(String [] args)
{
M m = new M();
for(int i=0;i<m.a.length;i++)
{
m.b=m.a[i];
m.c=m.a[i]*a[i+1];
m.b=m.c;
}
System.out.println(m.c);
}
}
Leemaasn 2004-11-18
  • 打赏
  • 举报
回复
Y
yaray 2004-11-18
  • 打赏
  • 举报
回复
静态方法不允许访问非静态变量!
yaray 2004-11-18
  • 打赏
  • 举报
回复
int []a={1,2,3,4,5,};

-->
int []a={1,2,3,4,5};
haoahoxueJAVA 2004-11-18
  • 打赏
  • 举报
回复
报错如下:


---------- Compile Java Program ----------
M.java:7: non-static variable a cannot be referenced from a static context
for(int i=0;i<a.length;i++)
^
M.java:9: non-static variable b cannot be referenced from a static context
b=a[i];
^
M.java:9: non-static variable a cannot be referenced from a static context
b=a[i];
^
M.java:10: non-static variable c cannot be referenced from a static context
c=a[i]*a[i+1];
^
M.java:10: non-static variable a cannot be referenced from a static context
c=a[i]*a[i+1];
^
M.java:10: non-static variable a cannot be referenced from a static context
c=a[i]*a[i+1];
^
M.java:11: non-static variable b cannot be referenced from a static context
b=c;
^
M.java:11: non-static variable c cannot be referenced from a static context
b=c;
^
M.java:13: non-static variable c cannot be referenced from a static context
System.out.println(c);
^
9 errors

输出完成 (耗时 5 秒) - 正常终止

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧