大資料之JAVA基礎(五):迴圈和陣列方法練習
案例1:編寫 1+3+5+7+......+99的值
/*
* 求1-99的基數和
*/
public static void fun01()
{
int i = 1;
int sum = 0;
for(;i<100;i+=2)
{
sum += i;
}
System.out.println("0-99基數和: "+ sum);
}
案例2:求所有的水仙花數(100-999之間,每位數字立方之和等於該3位數本身。如153 = 1*1*1 + 3*3*3 + 5*5*5)
/*
* 輸出所有的水仙花數
*/
public static void func02()
{
for(int i = 100;i<1000;i++)
{
int bai = i / 100 % 10;
int shi = i / 10 % 10;
int ge = i % 10;
if(bai * bai *bai + shi *shi*shi + ge*ge*ge == i)
{
System.out.println(i);
}
}
}
案例3: 利用for迴圈列印26個大寫26個小寫英文字母
/*
* 列印大小寫英文字母
*/
public static void func03()
{
//A-Z : 65 - 91
//a-z : 97 - 122
for(int i=97;i<123;i++)
{
if(i>='a' && i<='z' || i>= 'A' && i<='Z')
System.out.println((char)i);
}
}
案例4:列印99乘法表
/*
* 列印99乘法表
*/
public static void func04()
{
for (int i = 1; i <10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + " = " + i*j);
System.out.print(" ");
}
System.out.println();
}
}
案例5:編寫陣列的通用列印方法,例如列印(“【1,2,3,4,5】”)
/*
* 陣列通用列印方法
*/
public static void func05(int [] arr)
{
System.out.print('[');
for (int i = 0; i < arr.length; i++) {
if(i == arr.length -1)
System.out.print(arr[i]);
else
System.out.print(arr[i] + ",");
}
System.out.print(']');
}
案例6:實現陣列的逆序
/*
* 陣列逆序
* 思想:首位和末位交換,然後首位 + 1,末位 -1 ,再次交換,以此類推,直到首位大於或者等於末位
*/
public static void func06(int [] arr)
{
int start = 0; // 開始索引
int end = arr.length - 1; //末尾索引
for(start = 0 ; start <= end ; start ++,end--)
{
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
for (int i : arr) {
System.out.println(i);
}
}
案例7:陣列的氣泡排序
/*
* 陣列的氣泡排序(從小到大)
* 思想:外層i從0位置開始,內層j從其後一位(i+1)開始,比較(arr.length - 1 - i)次,進行比較和交換
*
*/
public static void func07(int [] arr)
{
for (int i = 0; i < arr.length - 1; i++) {
for(int j = i + 1; j < arr.length - 1 - i ; j ++)
{
if(arr[i] > arr[j] )
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] =temp;
}
}
}
for (int i : arr) {
System.out.println(i);
}
}
案例8:有序陣列的折半查詢
/*
* 有序陣列的折半查詢
*/
public static int func08(int [] arr,int search)
{
int min = 0; //最小索引
int max = arr.length - 1; //最大索引
int mid = (max + min) /2; //折半
while(arr[mid] != search)
{
if(arr[mid] > search)
{
max = mid - 1;
}
else
{
min = mid + 1;
}
mid = (max + min) /2; //折半
if(min > max)
{
return -1;
}
}
return mid;
}
相關文章
- Java基礎學習之陣列基本屬性和方法Java陣列
- python基礎 while迴圈練習PythonWhile
- 習題8-3 陣列迴圈右移 及 練習7-8 方陣迴圈右移陣列
- Java學習之陣列練習Java陣列
- Java學習之for迴圈列印菱形練習Java
- JAVASE-Basic(基礎資料+運算子+分支/迴圈結構+陣列)Java陣列
- awk 陣列和迴圈陣列
- Python基礎學習之迴圈Python
- 基礎資料結構之陣列資料結構陣列
- java基礎學習之七:陣列型別Java陣列型別
- JAVA 陣列 練習Java陣列
- 資料結構基礎學習之(串與陣列)資料結構陣列
- java基礎學習之五:引用資料型別Java資料型別
- 陣列迴圈陣列
- js陣列迴圈方法對比JS陣列
- python 基礎習題6--for迴圈和while迴圈PythonWhile
- JavaScript基礎(五)陣列JavaScript陣列
- 迴圈陣列最大子段和陣列
- linux awk 陣列和迴圈Linux陣列
- 大資料之JAVA基礎(一):資料和變數大資料Java變數
- 陣列迴圈移位陣列
- JAVA基礎--增強for迴圈Java
- react基礎之-- 列表迴圈React
- java資料結構學習之陣列Java資料結構陣列
- Java程式設計基礎24——遞迴練習Java程式設計遞迴
- 陣列常見的遍歷迴圈方法、陣列的迴圈遍歷的效率對比陣列
- while迴圈和do迴圈、緩衝區、一維陣列While陣列
- Java學習之基礎語法練習Java
- ES6語法學習筆記之陣列的各種迴圈方法筆記陣列
- js陣列操作--使用迭代方法替代for迴圈JS陣列
- 資料結構基礎學習之(棧和佇列)資料結構佇列
- 【Java學習筆記之五】java陣列詳解Java筆記陣列
- Golang 基礎-資料型別-陣列和切片Golang資料型別陣列
- Java版-資料結構-佇列(迴圈佇列)Java資料結構佇列
- 大資料學習方法,學大資料需要的基礎和路線大資料
- 陣列迴圈輸出陣列
- java學習之while迴圈JavaWhile
- golang基礎之陣列Golang陣列