如何将for循环更改为while循环?
for (i = 0; i < arr.length; i++) {
if (arr[i] == k) {
found = true;
break;
}
}
代码:
import java.util.Scanner;
class Algorithmus {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Geben sie den gesuchten Wert ein: ");
int k = s.nextInt();
System.out.println("Geben sie die Länge des Arrays ein: ");
int n = s.nextInt();
int arr[] = new int[n];
int i = 0;
System.out.println("Geben sie die Werte ein:");
for(i = 0;i<n;i++){
arr[i] = s.nextInt();
}
boolean found = false;
for (i = 0; i < arr.length; i++) {
if (arr[i] == k) {
found = true;
break;
}
}
if (found==true) {
System.out.println((i+1));
} else {
System.out.println((arr.length + 1));
}
}
}
结构应为:
BEGIN
Input: k1, ..., kn, k;
found := FALSE;
WHILE NOT found AND „not all elements were viewed“ DO
„take the next element ki“;
found := (ki = k)
END (* WHILE *);
IF found THEN
Output: i
ELSE
OUtput: n + 1
END (* IF *)
END
答案 0 :(得分:0)
等效的东西是:
int i = 0;
while (i < arr.length) {
if (arr[i] == k) {
found = true;
break;
}
++i;
}
答案 1 :(得分:0)
您可以执行以下操作:
int idx = 0;
while(idx < arr.length && a[idx] != k) {
idx++
}
if(idx == arr.length) {
// element not found, do something
} else {
// element found
}
答案 2 :(得分:0)
尝试一下
int i = 0;
while(arr.length > i){
//code
++i;
}
答案 3 :(得分:0)
int i=0;
while (i < arr.length) {
if (arr[i] == k) {
found = true;
break;
}
i++;
}
答案 4 :(得分:-1)
尝试此代码
import java.util.Scanner;
public class Algorithmus {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Geben sie den gesuchten Wert ein: ");
int k = s.nextInt();
System.out.println("Geben sie die Länge des Arrays ein: ");
int n = s.nextInt();
int arr[] = new int[n];
int i = 0;
System.out.println("Geben sie die Werte ein:");
for(i = 0;i<n;i++){
arr[i] = s.nextInt();
}
boolean found = false;
i=0;
while (i < arr.length) {
if (arr[i] == k) {
found = true;
break;
}
i++;
}
if (found==true) {
System.out.println((i+1));
} else {
System.out.println((arr.length + 1));
}
}
}