C:\Users\Malta\Documents\NetBeansProjects\semana4\univesp5\src\univesp5\Univesp5.java |
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package univesp5; /** * * @author Malta */ public class Univesp5 { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here double[][] chop = {{1.0,2.0,3.0},{2.0,3.0,4.0}}; avaliaMatriz(chop); } /*Exercício 1 Escreva um método chamado contaCaracteres que recebe como parâme- tro um arranjo de arranjos de caracteres chamado palavras (o qual re- presenta um conjunto de palavras) e deverá retornar o número total de caracteres presentes nesse arranjo de arranjos. */ public static int contaCaracteres(char[][] palavras){ int total = 0; for(char[] temp : palavras) total += temp.length; if (total > 0)return total; return -1; } /*Exercício 2 Escreva um método chamado contaLetra que recebe como parâmetros um arranjo de arranjos de caracteres chamado palavras e um caractere chamado letra e deverá retornar a quantidade de vezes que o caractere letra aparece dentro do arranjo de arranjos. */ public static int contaLetra(char[][] palavras, char letra){ int total=0; for (char[] palavra : palavras) { for (int j = 0; j < palavra.length; j++) { if (palavra[j] == letra) { total++; } } } return total; } /*Exercício 3 Escreva um método chamado avaliaMatriz que receba como parâmetro uma matriz bidimensional de elementos do tipo double (chamada matriz) e imprime três valores (um por linha): a média de todos os elementos da matriz, o menor valor da matriz e o maior valor da matriz. Você pode assumir que a referência à matriz passada como parâmetro terá valor diferente de null e que a respectiva matriz terá mais de um elemento. Dica: você só precisará percorrer a matriz inteira uma única vez para realizar essas operações. */ public static void avaliaMatriz(double matriz[][]){ double maior=0, menor, count=0, somatorio=0; menor = matriz[0][0]; for(double[] temp : matriz) for(double temp2 : temp){ if(temp2<menor) menor = temp2; if(temp2>maior) maior = temp2; somatorio += temp2; count++; } System.out.println(menor); System.out.println(maior); System.out.println(somatorio/count); } /*Escreva um método chamado soma3 que receba como parâmetros três matrizes de inteiros (chamadas m1, m2 e m3) e retorna null caso essas matrizes tenham dimensões diferentes. Caso contrário, deverá criar e retornar a referência a matriz correspondente a soma das três matrizes passadas como parâmetro.*/ public static int[][] soma3(int[][] m1, int[][] m2, int[][] m3){ //int a , b; final int a = m1.length; final int b = m1[0].length; //declara matriz de retorno int[][] mSoma = new int[a][b]; //verifica se as matrizes possuem mesmo tamanho de coluna if((m1.length == m2.length)&&(m1.length == m3.length)){ //blza; agora verifica se em cada linha há o mesmo número de elementos for(int j=0; j<m1.length; j++){ //se as linhas da matriz 2 OU a matriz 3 forem diferentes em tamanho, retorna null if((m2[j].length == m1[j].length)&&(m3[j].length == m1[j].length)){ //tamanhos iguais... então faz a soma for(int i = 0; i<m1[j].length; i++) mSoma[j][i]= m1[j][i] + m2[j][i] + m3[j][i]; } else return null; //caso matrizes sejam diferentes, retorna null } return mSoma; } return null; } }