/* * Intro to Programming CSE 1310 * University of Texas at Arlington */ package code29novf18; import java.util.ArrayList; /** * * @author jcmtiernan */ public class Code29NovF18 { /** * @param args the command line arguments */ public static void main(String[] args) { int[][] myTable = {{2,3,4},{5,6,4}}; int[][] result; result = transpose(myTable); System.out.println("\nmyTable"); for (int r = 0; r < myTable.length; r++) { for (int c = 0; c < myTable[0].length; c++) { System.out.printf("%4d",myTable[r][c]); } System.out.println(""); } System.out.println("\nResult"); for (int r = 0; r < result.length; r++) { for (int c = 0; c < result[0].length; c++) { System.out.printf("%4d",result[r][c]); } System.out.println(""); } String[][] characters = {{"Peppa", "pig", "pink"}, {"Danny","dog","brown"}, {"Su","sheep","white"}, {"Cassat","cat","tabby"}, {"Reba","armadillo","white"}, {"Buddy","dog","yellow"}, {"Lucky","dog","white"}}; System.out.println("\nString \"pink\" in table occurs "+ checkColor(characters, "pink")+" times"); System.out.println("\nChar 'D' occurs in "+ checkChar(characters,'D')); ArrayList[] chars2 = new ArrayList[7]; ArrayList chars3 = new ArrayList(); // Dr T forgot to initialize the ArrayLists for each row!! for (int k = 0; k < chars2.length; k++) { chars2[k] = new ArrayList(); //System.out.println("Size of row ["+k+"] is "+chars2[k].size()); } // Could assign every value separately chars2[0].add(0,"Peppa"); chars2[0].add(1,"pig"); chars2[0].add(2,"pink"); // filling remainder of array of ArrayList with the values from the 2D array // Note that iteration test is with size of 2D array NOT with size of ArrayList for (int i = 1; i < characters.length; i++) { for (int j = 0; j < characters[i].length; j++) chars2[i].add(j,characters[i][j]); //System.out.println("Size of row ["+i+"] is "+chars2[i].size()); } System.out.println(""); // Printing current values in array of ArrayList for (int i = 0; i < chars2.length; i++) for (int j = 0; j < chars2[i].size(); j++) System.out.println("chars2["+i+"]<"+j+"> = "+chars2[i].get(j)); System.out.println("\nChar 'p' occurs in "+ checkChar2(chars2,'p')); } public static int checkColor(String[][] ch, String color) { int counter = 0; for (int i=0; i < ch.length; i++) { if (color.equals(ch[i][2])) { counter++; } } return counter; } public static ArrayList checkChar(String[][] ch, char c) { ArrayList strContaining = new ArrayList(); String temp; String let = Character.toString(c).toLowerCase(); System.out.println("User input letter is '"+c+"'"); for (int i=0; i < ch.length; i++) for (int j=0; j < ch[i].length; j++) { temp = ch[i][j].toLowerCase(); if (temp.contains(let))// (ch[i][j].indexOf(c) != -1) { strContaining.add(ch[i][j]); } } return strContaining; } public static ArrayList checkChar2(ArrayList[] ch, char c) { ArrayList strContaining = new ArrayList(); String temp; String let = Character.toString(c).toLowerCase(); for (int i=0; i < ch.length; i++) for (int j=0; j < ch[i].size(); j++) { temp = ch[i].get(j).toLowerCase(); if (temp.contains(let)) strContaining.add(ch[i].get(j)); } return strContaining; } public static void print1DAL(ArrayList AL) { for (String str: AL) { System.out.println(str); } } public static void print2DAL(ArrayList> AL) { for (int i = 0; i < AL.size(); i++) { print1DAL(AL.get(i)); } } public static int[][] transpose2(int[][] myTable) { int rows = myTable.length; int cols = myTable[0].length; int[][] result = new int[cols][rows]; for (int r = 0; r < rows; r++) for (int c = 0; c < cols; c++) { result[c][r] = myTable[r][c]; } return result; } public static int[][] transpose(int[][] myTable) { int[][] result = new int[myTable[0].length][myTable.length]; for (int r = 0; r < myTable.length; r++) for (int c = 0; c < myTable[0].length; c++) { result[c][r] = myTable[r][c]; } return result; } }