java要求将数组中的元素为0的去掉,将不为0的值存入到新数组
时间: 2024-05-31 10:08:51 浏览: 12
中,该如何实现?
您可以使用两个指针,一个指向原数组的头部,另一个指向新数组的头部。遍历原数组,将不为0的元素复制到新数组中,并将新数组指针后移。遍历结束后,新数组中的元素就是原数组中不为0的元素。以下是Java代码示例:
int[] nums = {0, 1, 0, 3, 12};
int[] newNums = new int[nums.length];
int j = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != 0) {
newNums[j] = nums[i];
j++;
}
}
相关问题
java要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,也就是要求生成的新数组newArr为:{1,6,6,5,4,7,5},打印新旧数组。
好的,以下是Java代码实现:
```java
public class RemoveZeroInArray {
public static void main(String[] args) {
int[] arr = {1, 0, 6, 0, 6, 0, 5, 4, 0, 7, 0, 5, 0};
int count = 0; // 计数器,用于记录不为0的元素个数
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
count++;
}
}
int[] newArr = new int[count]; // 创建新数组,长度为不为0的元素个数
int j = 0; // 用于记录新数组的下标
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
newArr[j] = arr[i];
j++;
}
}
System.out.println("原数组:");
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println("\n新数组:");
for (int i : newArr) {
System.out.print(i + " ");
}
}
}
```
运行结果:
```
原数组:
1 0 6 0 6 0 5 4 0 7 0 5 0
新数组:
1 6 6 5 4 7 5
```
java编程3、输入10个元素(10——99范围),保存到数组中,查找里面是否有>80,如果有,显示有,否则提示没有 4、要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组 5、在数组arr中,存放n个学生的成绩,先求出这n个学生的平均成绩,再显示所有低于平均分的成绩。
下面是针对你提出的三个问题的Java代码解答:
3. 输入10个元素(10——99范围),保存到数组中,查找里面是否有大于80的元素,如果有,显示"有",否则提示"没有"。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = new int[10];
Scanner scanner = new Scanner(System.in);
System.out.println("请输入10个元素(10——99范围):");
for (int i = 0; i < 10; i++) {
arr[i] = scanner.nextInt();
}
boolean found = false;
for (int i = 0; i < 10; i++) {
if (arr[i] > 80) {
found = true;
break;
}
}
if (found) {
System.out.println("有");
} else {
System.out.println("没有");
}
}
}
```
4. 要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组。
```java
public class Main {
public static void main(String[] args) {
int[] arr = {0, 5, 0, 8, 0, 3, 0, 2};
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
count++;
}
}
int[] newArr = new int[count];
int index = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
newArr[index] = arr[i];
index++;
}
}
System.out.println("新数组:");
for (int i = 0; i < newArr.length; i++) {
System.out.print(newArr[i] + " ");
}
}
}
```
5. 在数组 `arr` 中,存放 n 个学生的成绩,先求出这 n 个学生的平均成绩,再显示所有低于平均分的成绩。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生人数:");
int n = scanner.nextInt();
int[] arr = new int[n];
System.out.println("请输入学生成绩:");
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
double average = calculateAverage(arr);
System.out.println("平均分:" + average);
System.out.println("低于平均分的成绩:");
for (int i = 0; i < n; i++) {
if (arr[i] < average) {
System.out.println(arr[i]);
}
}
}
public static double calculateAverage(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return (double) sum / arr.length;
}
}
```
希望这些代码能够帮助到你!如果还有任何问题,请随时提问。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)