Ejercicios relacionados con matrices
-
- 1. Encuentra el promedio de la matriz.
- 2. La suma de todos los elementos de la matriz
- 3. Cambie el valor del elemento de matriz original.
- 4. Imprime la matriz
- 5. Cree una matriz y asigne valores iniciales
- 6, tipo de burbuja
- 7. ¿Está la matriz en orden?
- 8. Búsqueda binaria
- 9. Copia de la matriz
- 10. Matriz a cadena
1. Encuentra el promedio de la matriz.
Implemente un método avg, tome una matriz como parámetro y encuentre el promedio de todos los elementos de la matriz (observe el tipo de valor de retorno del método).
/**
* Created with IntelliJ IDEA.
* Description:实现一个方法 avg, 以数组为参数, 求数组中所有元素的平均值(注意方法的返回值类型).
* User: starry
* Date: 2020 -12 -11
* Time: 15:53
*/
public class Work1 {
public static int avg(int[] arr){
int sum=0;
// for(int i=0;i<arr.length;i++){
// sum=sum+arr[i];
// }
for(int a:arr){
sum+=a;
}
return sum/arr.length;
}
public static void main(String[] args) {
int[] arr=new int[]{
1,2,3,4,5};
int avg=avg(arr);
System.out.println(avg);
}
}
2. La suma de todos los elementos de la matriz
Implemente un método suma que tome una matriz como parámetro para encontrar la suma de todos los elementos de la matriz.
/**
* Created with IntelliJ IDEA.
* Description:实现一个方法 sum, 以数组为参数, 求数组所有元素之和.
* User: starry
* Date: 2020 -12 -11
* Time: 16:14
*/
public class Work2 {
public static int sum(int[] arr){
int sum=0;
for(int a:arr){
sum+=a;
}
return sum;
}
public static void main(String[] args){
int[] arr={
1,2,3,4,5};
System.out.println(sum(arr));
}
}
3. Cambie el valor del elemento de matriz original.
Implementar una transformación de método, tomar una matriz como parámetro, hacer un ciclo para multiplicar cada elemento de la matriz por 2 y establecerlo en el elemento de matriz correspondiente. Por ejemplo, la matriz original es {1, 2, 3} y, después de la modificación, es {2, 4, 6}
/**
* Created with IntelliJ IDEA.
* Description:实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 , 并设置到对应的数组元素上.
* 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}
* User: starry
* Date: 2020 -12 -11
* Time: 16:21
*/
public class Work3 {
public static void transform(int[] arr){
for(int i=0;i< arr.length;i++){
arr[i]*=2;
}
}
public static void main(String[] args){
int[] arr=new int[]{
1,2,3,4,5};
transform(arr);
for(int a:arr){
System.out.println(a);
}
}
}
4. Imprime la matriz
Implemente un método printArray que tome una matriz como parámetro, recorra cada elemento de la matriz e imprima el valor de cada elemento.
/**
* Created with IntelliJ IDEA.
* Description:实现一个方法 printArray, 以数组为参数, 循环访问数组中的每个元素, 打印每个元素的值.
* User: starry
* Date: 2020 -12 -11
* Time: 16:35
*/
public class Work4 {
public static void printArray(int[] arr){
for(int a:arr){
System.out.println(a);
}
}
public static void main(String[] args){
int[] arr={
1,2,3,4,5};
printArray(arr);
}
}
5. Cree una matriz y asigne valores iniciales
Cree una matriz de tipo int, el número de elementos es 100 y establezca cada elemento en 1-100 a su vez
/**
* Created with IntelliJ IDEA.
* Description:创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100
* User: starry
* Date: 2020 -12 -11
* Time: 16:44
*/
public class Work5 {
public static void main(String[] args) {
int[] arr=new int[100];
for(int i=0;i<arr.length;i++){
arr[i]=i+1;
}
for(int i:arr){
System.out.print(i+" ");
}
}
}
6, tipo de burbuja
Dada una matriz de enteros, implemente la clasificación de burbujas (clasificación ascendente)
import java.util.Arrays;
/**
* Created with IntelliJ IDEA.
* Description:给定一个整型数组, 实现冒泡排序(升序排序)
* User: starry
* Date: 2020 -12 -27
* Time: 10:10
*/
public class Work6 {
public static void bubbleSort(int[] arr){
int i,j;
for(i=0;i<arr.length-1;i++){
int time=0;
for(j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
time=1;
}
}
if(time==0){
return;
}
}
}
public static void main(String[] args) {
int[] arr=new int[]{
53,12,48,86,74,55,32,57,49,99};
System.out.println("初始为:"+Arrays.toString(arr));
bubbleSort(arr);
System.out.println("排序后为:"+Arrays.toString(arr));
}
}
7. ¿Está la matriz en orden?
Dada una matriz de enteros, determine si la matriz está ordenada (aumentando)
import java.util.Arrays;
/**
* Created with IntelliJ IDEA.
* Description:给定一个整型数组, 判定数组是否有序(递增)
* User: starry
* Date: 2020 -12 -27
* Time: 10:40
*/
public class Work7 {
public static boolean judgeSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
if(arr[i]>=arr[i+1]){
return false;
}
}
return true;
}
public static void main(String[] args) {
int[] arr1=new int[]{
53,12,48,86,74,55,32,57,49,99};
System.out.println("数组1为:"+ Arrays.toString(arr1));
System.out.println("数组1是否有序:"+judgeSort(arr1));
int[] arr2=new int[]{
1,2,3,4,5,6,7,8,9,10};
System.out.println("数组2为:"+ Arrays.toString(arr2));
System.out.println("数组2是否有序:"+judgeSort(arr2));
}
}
8. Búsqueda binaria
Dada una matriz de enteros ordenados, implemente la búsqueda binaria
import java.util.Arrays;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:给定一个有序整型数组, 实现二分查找
* User: starry
* Date: 2020 -12 -27
* Time: 10:49
*/
public class Work8 {
public static int binarySearch(int[] arr,int a){
int len=arr.length;
int left=0;
int right=len-1;
int mid;
for(int i=0;i<len;i++){
mid=(left+right)/2;
if(arr[mid]>a){
right=mid-1;
}else if(arr[mid]<a){
left=mid+1;
}else{
return mid;
}
}
return -1;
}
public static void main(String[] args) {
int[] arr=new int[]{
11,22,33,44,55,66,77,88,99,100};
System.out.println("数组为"+ Arrays.toString(arr));
System.out.println("请输入要查找的数字");
Scanner cin=new Scanner(System.in);
int a=cin.nextInt();
int result=binarySearch(arr,a);
if(result==-1){
System.out.println("该数字在数组中未出现");
}else{
System.out.println("该数字所在数组下标为:"+result);
}
}
}
9. Copia de la matriz
Implemente un método copyOf para copiar una matriz de enteros para obtener una nueva matriz.
import java.util.Arrays;
/**
* Created with IntelliJ IDEA.
* Description:实现一个方法 copyOf, 对一个整型数组进行拷贝, 得到一个新的数组.
* User: starry
* Date: 2020 -12 -27
* Time: 11:32
*/
public class Work9 {
public static int[] copyOf(int[] arr){
int[] brr=new int[arr.length];
for(int i=0;i<brr.length;i++){
brr[i]=arr[i];
}
return brr;
}
public static void main(String[] args) {
int[] arr=new int[]{
11,22,33,44,55,66,77,88,99,100};
System.out.println("数组1为:"+ Arrays.toString(arr));
System.out.println("经拷贝后,数组2为:"+Arrays.toString(copyOf(arr)));
}
}
10. Matriz a cadena
Implemente un método toString para convertir una matriz de enteros en una cadena. Por ejemplo, la matriz {1, 2, 3}, la cadena devuelta es "[1, 2, 3]", preste atención a la posición y al número de comas.
import java.util.Arrays;
/**
* Created with IntelliJ IDEA.
* Description:实现一个方法 toString, 把一个整型数组转换成字符串. 例如数组 {1, 2, 3} ,
* 返回的字符串为 "[1, 2, 3]", 注意 逗号 的位置和数量.
* User: starry
* Date: 2020 -12 -27
* Time: 11:44
*/
public class Work10 {
public static String ToString(int[] array) {
if(array == null) {
return null;
}
String ret = "[";
for (int i = 0; i < array.length; i++) {
ret = ret + array[i];
if(i != array.length-1) {
ret += ", ";
}
}
ret += "]";
return ret;
}
public static void main(String[] args) {
int[] array = {
1,2,3};
System.out.println(Arrays.toString(array));
}
}