/*Assignment#1 ICS 211 * Instr:Dr. Jan Stelovsky * TA: John Wu * Student/Author: Jon Lai * Wednesday Lab */ import java.util.ArrayList; import java.util.Scanner; public class Assignment1 { public static void main(String[] args) { char[] ASCarray = new char[127]; // Creating an array and inputing all values using a for loop for(int i=0; i< ASCarray.length; i++) { ASCarray[i] = (char)i; } ArrayList storedInputsInt = new ArrayList(); for(int userInput = 1; userInput > -1;) //break loop set to neg # { Scanner inputNum = new Scanner(System.in); System.out.println("ASCII number within 0 and 127: (neg# to index)"); //error checking if input is not an int will quit if(!inputNum.hasNextInt()){return;} userInput = inputNum.nextInt(); if (userInput < 0) break; if (userInput > -1 && userInput < 33) // Boundaries set to add input only when input is within 0 to 127 { System.out.println("Character Symbol: " + userInput + "C"); storedInputsInt.add(userInput); } else if (userInput <127) { System.out.println("Character Symbol: " + ASCarray[userInput]); storedInputsInt.add(userInput); } } //array of inputs as characters ArrayList storedInputsStr = new ArrayList(); for(int i =0; i < storedInputsInt.size(); i++){ int value = storedInputsInt.get(i); if(value < 33) { storedInputsStr.add(value + "C"); } else if (value < 127 && value >= 33) storedInputsStr.add(ASCarray[value] + ""); } //Building array with 4 Strings and array once String[] fourStrings = new String[4]; String digitS = new String("Your digits are: "); String lowerS = new String("Your lower case letters are: "); String upperS = new String ("Your upper case letters are: "); String specialS = new String("Your special characters are: "); for (int i =0; i < storedInputsInt.size(); i++) { int value = storedInputsInt.get(i); if (value >= 48 && value <= 57) { char number = (char) value; digitS += number + " "; // added space at end of each String input to improve display } else if(value >= 97 && value <= 122) { char lowerNum = (char) value; lowerS += lowerNum + " "; } else if (value >= 65 && value <= 90) { char upperNum = (char) value; upperS += upperNum + " "; } else if(value >= 33 && value <= 47 || value >= 58 && value <= 64 || value >= 91 && value <= 96 || value >= 123 && value <= 126) { char special = (char) value; specialS += special + " "; } // numbers for which special characters need a 'C' else if(value >= 0 && value <33) { specialS += value + "C "; } } //Enter values into array after completion of Strings in for loop to reduce input amount fourStrings[0] = digitS; fourStrings[1] = lowerS; fourStrings[2] = upperS; fourStrings[3] = specialS; System.out.println("Conversions requested: " + storedInputsInt + "\nConversion results: " + storedInputsStr); for(String value : fourStrings) System.out.println(value); } }