1.可以在方法中,將需要儲存的資料放在陣列中,從方法外讀取陣列結果
3.標記思想
4.**合法性判斷思想,對使用者輸入的資料進行合法性判斷,保證**的健壯性
找出陣列中指定元素的所有下標位置案例陣列:
int arr = ;
找出元素1 的所有下標位置
需要得到:
0, 3, 6
要求: a. 不允許在方法內列印展示
b. 考慮多個資料情況
c. 需要在方法外獲取到下標資料資訊
d. 不允許使用陣列作為返回值
e. 乙個方法完成
目的:1. 學會使用陣列傳遞過程,儲存必要的資料
2. 操作過程中會形成乙個計數器思想
3. 形成乙個標記性思想
4. 形成**安全性判斷思想,保證**健壯性,安全性
方法分析/*
方法分析:
固定格式:
public static 不要問
返回值型別: 【思考】
void : 黑盒方法,還行
boolean : 也還行
int : 返回什麼內容?
返回值採用int型別,返回的資料時目標陣列中有多少個找到元素
返回0,表示沒有指定元素,返回值的大於等於1找到的個數
方法名:
findallindexes
找出所有的下標位置
形式引數列表:
1. 查詢資料的目標陣列
2. int需要查詢的資料
3. int型別陣列,儲存下標位置
最大的問題:
找到的下標位置如何儲存,然後讓方法外可以得到
1. 下標首先是int型別
2. 下標可能存在多個
這裡貌似需要乙個陣列,int型別陣列,儲存下標位置
但是陣列不能作為返回值
這裡有且只有乙個途徑,在引數中加入乙個陣列,
用於儲存找到的目標資料下標位置,這裡傳入的儲存下標的
陣列可以在方法內使用,並且儲存資料,方法外可以獲取
問題繼續分析
(int arr, int indexes, int find)
arr 是源資料陣列
indexes 儲存下標的陣列
indexes 下標為0的元素,如果儲存的資料是0的情況下,不能確定0是【有效資料】還是無效資料。
這裡需要乙個資料,來輔助我們確定當前indexes陣列中有多少有效元素,或者說找到了多少個指定元素。
方法宣告:
public static int findallindex(int arr, int indexes, int find)
*/
package com.qfedu.a.homework;
public class homework1 ;
// 建立與原陣列長度一致的陣列,用於儲存查詢值。然後將陣列的有效長度(相同的合數)返回,迴圈列印結果
int indexes = new int[arr.length];
// 接受方法的返回值,得到的數查詢目標資料的個數
int count = findallindex(arr, indexes, 1);
//增加返回值資料判斷,根據返回結果給使用者訊息,避免沒有結果現象
if (count > 0)
} else }
/* * indexes陣列容量 == arr.length?
* why???
* 1. 存在可能性目標陣列中的所有元素都是指定需要查詢的資料
* 2. 如果大於目標陣列容量,浪費空間
*//**
* 找出指定陣列arr中,指定元素find所有的下標位置,儲存到indexes陣列中,返回值 是找到的目標資料個數
* * @param arr 查詢資料的目標陣列
* @param indexes 儲存下標資訊的陣列
* @param find 指定的目標資料
* @return 找到指定資料個數,返回0,表示沒有找到,返回值大於0,找的元素個數
*/public static int findallindex(int arr, int indexes, int find)
/** 1. 計數,當前指定陣列arr中,有多少個目標元素
* 2. count同時是indexes陣列中下一次存放資料的下標位置
*/int count = 0;
// 遍歷目標陣列arr
for (int i = 0; i < arr.length; i++)
}
return count;
}}
陣列相關及其主要思想回顧
陣列是乙個變數,儲存相同資料型別的一組資料。資料型別 陣列 名 或 資料型別 陣列名 1.資料型別相同 2.陣列名實際就是乙個變數,既然是變數就必須先賦值再使用 3.陣列的每乙個元素既可以是基本資料型別也可以是引用資料型別 1 初始化的同時為每個元素賦值,不需要指明長度 2 int scores 建...
KMP next 陣列的思想
剛剛寫了點 我剛剛除錯了幾次 然後又在自行輸出 我先說說 啊,就是這個 next 陣列就為什麼可以求出前字尾最長 相同的數量?首先說說 前字尾,例如字串 aaaa,我們就直接用眼睛看的話,就是最長就是3,aaa a a aaa。這就是最長的前字尾,我們怎麼用 實現的呢?首先 前字尾 不能是一樣的 就...
const相關,指標相關,陣列相關
include include head.h int a 3,c 2 const int b a b 8 error b c right const用來修飾指標所指向的變數,還是指標 可以修改指標指向位址,但不能直接修改指向內容 int const b a b 8 right p error con...