练习题都给好过了:实现斐波那契数列(打印前20位并求和)
矩阵转置(一个二维数组看作矩阵,作转置操作)
现在自己尝试写一下吧,之后我给参考答案。
参考1:结合数组
package 新生教学1;
public class Fibonacci {
public static void main(String[] args) {
int[] fib=new int[20];
int sum=0;
FIB(fib);
for(int f:fib) {
System.out.println(f);
sum+=f;
}
System.out.println("和为:"+sum);
}
private static void FIB(int[] fib) {
fib[0]=1;
fib[1]=1;
for(int i=2;i<20;i++) {
fib[i]=fib[i-1]+fib[i-2];
}
}
}
参考2:不使用数组
package 新生教学1;
public class Fibonacci2 {
public static void main(String[] args) {
int a=1;
System.out.println(a);
int b=1;
System.out.println(b);
int sum=a+b;
for(int i = 0;i <9;i++) {
a = a + b;
System.out.println(a);
b = a + b;
System.out.println(b);
sum+=(a+b);
}
System.out.println("和为"+sum);
}
}
矩阵转置:
package 新生教学1;
public class 矩阵转置 {
public static void main(String[] args) {
String [][] s = new String[2][3];
s[0][0] = "a";
s[0][1] = "b";
s[0][2] = "c";
s[1][0] = new String("d");
s[1][1] = new String("e");
s[1][2] = new String("f");
String [][] sz = new String[3][2];
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
sz[j][i]=s[i][j];
for(String[] sout:sz) {
for(String sin:sout) {
System.out.println(sin);
}
}
}
}