本文目錄一覽:
java編程實現輸出fibonacci數列(要求利用數組實現)的前30項
這個問題沒有難度吧。寫了一下你參考下,循環 遞歸都能輕鬆實現的。
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] fibonacci=null;
fibonacci=fibonacci(30);
System.out.println(Arrays.toString(fibonacci));
fibonacci=new int[30];
fibonacci(fibonacci,0);
System.out.println(Arrays.toString(fibonacci));
}
//循環
public static int[] fibonacci(int length){
int[] fibonacci=new int[length];
fibonacci[0]=0;
fibonacci[1]=1;
for(int i=2;ilength;i++)
fibonacci[i]=fibonacci[i-1]+fibonacci[i-2];
return fibonacci;
}
//遞歸
public static void fibonacci(int[] fibonacci,int index){
if(index-1indexfibonacci.length){
if(index2index-1)
fibonacci[index]=index;
else
fibonacci[index]=fibonacci[index-1]+fibonacci[index-2];
fibonacci(fibonacci,index+1);
}
}
如何用java語言輸出斐波那契數列
Java編程:三種方法實現斐波那契數列
其一方法:
public class Demo2 {
// 定義三個變數方法
public static void main(String[] args) {
int a = 1, b = 1, c = 0;
System.out.println(“斐波那契數列前20項為:”);
System.out.print(a + “\t” + b + “\t”);
//因為前面還有兩個1、1 所以i=18
for (int i = 1; i = 18; i++) {
c = a + b;
a = b;
b = c;
System.out.print(c + “\t”);
if ((i + 2) % 5 == 0)
System.out.println();
}
}
}
java編程:三種方法實現斐波那契數列
其二方法:
public class Demo3 {
// 定義數組方法
public static void main(String[] args) {
int arr[] = new int[20];
arr[0] = arr[1] = 1;
for (int i = 2; i arr.length; i++) {
arr[i] = arr[i – 1] + arr[i – 2];
}
System.out.println(“斐波那契數列的前20項如下所示:”);
for (int i = 0; i arr.length; i++) {
if (i % 5 == 0)
System.out.println();
System.out.print(arr[i] + “\t”);
}
}
}
Java編程:三種方法實現斐波那契數列
其三方法:
public class Demo4 {
// 使用遞歸方法
private static int getFibo(int i) {
if (i == 1 || i == 2)
return 1;
else
return getFibo(i – 1) + getFibo(i – 2);
}
public static void main(String[] args) {
System.out.println(“斐波那契數列的前20項為:”);
for (int j = 1; j = 20; j++) {
System.out.print(getFibo(j) + “\t”);
if (j % 5 == 0)
System.out.println();
}
}
}
同一道題用各種不同的思路去思考解決,也是對知識綜合運用的鍛煉。
Java中如何實現文件的輸入輸出?
程序如下:
span style=”color:#990000;”
/spanFile file1 = new File(“/home/a123/a”);
if (file1.exists()) {
System.out.println(“存在文件夾a”);
} else {
file1.mkdir(); // 文件夾的創建 創建文件夾/home/a123/a
}
File file2 = new File(“/home/a123/a/test”);
if (file2.exists()) {
System.out.println(“存在文件夾或者文件test”);
} else {
try {
file2.createNewFile(); // 文件的創建,注意與文件夾創建的區別
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 最簡單的文件讀寫方法是使用類FileWriter
* (它的父類依次是java.io.OutputStreamWriter——java.io.Writer——java.lang.Object );
*/
// 下面是向文件file2裡面寫數據
try {
FileWriter fileWriter = new FileWriter(file2);
String s = new String(“This is a test! \n” + “aaaa”);
fileWriter.write(s);
fileWriter.close(); // 關閉數據流
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*
* 這樣寫數據的話,是完全更新文件test裡面的內容,即把以前的東西全部刪除,重新輸入。
* 如果不想刪除以前的數據,而是把新增加的內容增添在文件末尾處。只需要在創建FileWriter對象時候,使用另外一個構造函數即可:
* FileWriter fileWriter=new FileWriter(file2,true);
*/
// 下面是從文件file2讀東西
try {
FileReader fileReader = new FileReader(file2);
String s = null;
char ch;
try {
char[] c = new char[100];
fileReader.read(c,0,2); // 具體想得到文件裡面的什麼值(單個char?int?還是String?),
System.out.println(c);
fileReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/**
* 具體想得到文件裡面的什麼值(單個char?int?還是String?),需要知道不通read的不同用法:
* 1. int read() 讀取單個字元。
* 2. int read(char[] cbuf) 將字元讀入數組。 可以再將字元型數組轉化位字元串
* 3. int read(char[] cbuf,int off,int len) 將字元讀入數組的某一部分。
* 這三個方法都返回一個int值,作用是:讀取的字元數,如果已到達流的末尾,則返回 -1.
*/
}
原創文章,作者:DAANB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/318181.html