展开全部
这段代码的主要问题是最后判断这个数字是否存在于数组中.
比如 8是否存在于 2 4 6 8 ...的数组中.
那么用8依次和32313133353236313431303231363533e58685e5aeb931333365633937数组的元素进行比较, 只要有一次相同就可以认为在数组中了
参考代码import java.util.Scanner;
public class Date1_19 {
public static void main(String[] args) {
int arrt[] = { 8, 4, 2, 1, 23, 344, 12 };
// 循环输出数列的值
// 求数列中所有数值的和
// 猜数,任意输入一个数,判断数列中是否包含此数
for (int i = 0; i
System.out.print(arrt[i] + ",");
}
System.out.println();
int sum = 0;
for (int i = 0; i
sum += arrt[i];
}
System.out.println(sum);
Scanner input = new Scanner(System.in);//input要放到do while的外面比较好
do {
double a = input.nextDouble(); // 变量a放到for循环外面,否则会根据数组的长度,循环多次读取输入
boolean flag = false;//设置一个标记
for (int i = 0; i
if (a == arrt[i]) {//如果相等
flag =true;//那么标记设置为true, 代表包含了该元素
break;//跳出for循环, 因为该数字已经在数组中了,就不用一直循环,继续判断了
}
}
if(flag) {
System.out.println("Yes");
}else {
System.out.println("No");
}
} while (true);
}
}
运行测试8,4,2,1,23,344,12,
394
8
Yes
4
Yes
3
No
1.5
No
2
Yes