刚开始学java,写了段程序通不过编译。
package com.shengsiyuan;import java.math.BigInteger;public class Problem2
{
public static void main(String[] args)
{
long[] a = new long[400];
a[1] = 1;
a[2] = 2;
for(long i = 3; i <= a.length; )
{
a[i]= a[i - 1] + a[i - 2];
}
System.out.println(a[10]);
}
}
编译提示:“a[i]= a[i - 1] + a[i - 2];”这行类型转换不对了。
package com.shengsiyuan;import java.math.BigInteger;public class Problem2
{
public static void main(String[] args)
{
long[] a = new long[400];
a[1] = 1;
a[2] = 2;
for(long i = 3; i <= a.length; )
{
a[i]= a[i - 1] + a[i - 2];
}
System.out.println(a[10]);
}
}
编译提示:“a[i]= a[i - 1] + a[i - 2];”这行类型转换不对了。
解决方案 »
- 如何销毁singelton的obj? 如何在一个Singleton程序里 按序 多次运行Main函数?
- socket编程学习一
- AbstractTableModel重写
- java菜鸟的一个问题
- eclipse中使用JNI需要额外配置么? 遇到一个程序执行问题, 请帮忙!
- 学习顺序问题求助,请驻足!谢谢
- 在java中,如何得到中文字的双字节ascii码?急!!!!!!!!!!!!!!1
- (JBuilder)为什么在Applet上放上AWT中的Choice时,在inspector的Events中看不到Choice的任何事件?
- 我是JAVA的初学者,请各位用什么编程工具好呢,是SDK(我们这找不到有关SDK的盘子)还是VJ++或者JBuilder5?请问高手们java能超过c++吗?
- 什么情况用protect, privat,public?
- 求助此程序:n*n的方格内所有行和列相加之和相等
- 请用最简洁的话回答这个问题:TCP和SOCKET什么关系
并且for();还少了一个i++
public static void main(String[] args) {
long[] a = new long[400];
a[1] = 1;
a[2] = 2;
// for (long i = 3; i <= a.length;) {
/*
* for循环中,存在两点错误
* 1. 控制数据游标的i,不能是long,而是int类型
* 2. 数组中的游标是从0开始计数,
* 所以当你想从第三位开始操作的时候,你应该让 i = 2
* 3. 数组的length是表示数组的实际长度,不同于游标的表示方法
* 所以,应该是 i < a.length
* 4. 在你进行对i赋值后,没有移动i,所以添加 i++
*/
for (int i = 2; i < a.length; i++) {
a[i] = a[i - 1] + a[i - 2];
}
System.out.println(a[10]);
}
}
public class Problem2
{
public static void main(String[] args)
{
long[] a = new long[4000000];
a[1] = 1;
a[2] = 2;
for(long i = 3; i <= a.length;i++)
{
a[i]= a[i - 1] + a[i - 2];
}
System.out.println(a[10]);
}
}
这是规范的问题,java要求你的数组游标是int型的,而且如果你的数组长度很大的话,执行的时候会出现异常的。