From b050db6dce9d30e67d48fe945039bcde0d4fdc57 Mon Sep 17 00:00:00 2001 From: k0rrluna Date: Tue, 31 Dec 2024 14:58:42 +0300 Subject: [PATCH] labs --- labs/lab10/Backwards.java | 35 +++++++++++++ labs/lab10/CountLettere.java | 36 +++++++++++++ labs/lab10/CountLetters.java | 33 ++++++++++++ labs/lab10/Power.java | 42 ++++++++++++++++ labs/lab6/Account.class | Bin 1583 -> 1774 bytes labs/lab6/Account.java | 17 ++++++- labs/lab7/IntList.class | Bin 0 -> 902 bytes labs/lab7/IntList.java | 50 +++++++++++++++++++ labs/lab7/ListTest.class | Bin 0 -> 637 bytes labs/lab7/ListTest.java | 29 +++++++++++ labs/lab7/NumberSorter.class | Bin 0 -> 128 bytes labs/lab7/Player.java | 43 ++++++++++++++++ labs/lab7/SortedIntList.class | Bin 0 -> 564 bytes labs/lab7/SortedIntList.java | 39 +++++++++++++++ labs/lab7/chapter8_lab-7.pdf | Bin 0 -> 45152 bytes labs/lab7/chapter8_lab-7.pdfZone.Identifier | 0 16 files changed, 323 insertions(+), 1 deletion(-) create mode 100644 labs/lab10/Backwards.java create mode 100644 labs/lab10/CountLettere.java create mode 100644 labs/lab10/CountLetters.java create mode 100644 labs/lab10/Power.java create mode 100644 labs/lab7/IntList.class create mode 100644 labs/lab7/IntList.java create mode 100644 labs/lab7/ListTest.class create mode 100644 labs/lab7/ListTest.java create mode 100644 labs/lab7/NumberSorter.class create mode 100644 labs/lab7/Player.java create mode 100644 labs/lab7/SortedIntList.class create mode 100644 labs/lab7/SortedIntList.java create mode 100644 labs/lab7/chapter8_lab-7.pdf create mode 100644 labs/lab7/chapter8_lab-7.pdfZone.Identifier diff --git a/labs/lab10/Backwards.java b/labs/lab10/Backwards.java new file mode 100644 index 0000000..27d03b2 --- /dev/null +++ b/labs/lab10/Backwards.java @@ -0,0 +1,35 @@ +// ****************************************************************** +// Backwards.java +// +// Uses a recursive method to print a string backwards. +// ****************************************************************** +import java.util.Scanner; +public class Backwards +{ + //-------------------------------------------------------------- + // Reads a string from the user and prints it backwards. + //-------------------------------------------------------------- + public static void main(String[] args) + { + String msg; + Scanner scan = new Scanner(System.in); + System.out.print("Enter a string: "); + msg = scan.nextLine(); + System.out.print("\nThe string backwards: "); + printBackwards(msg); + System.out.println(); + } + + //-------------------------------------------------------------- + // Takes a string and recursively prints it backwards. + //-------------------------------------------------------------- + public static void printBackwards(String s) + { + if (s.isEmpty()) { + return; + } + System.out.print(s.charAt(s.length() - 1)); + printBackwards(s.substring(0, s.length() - 1)); + // Fill in code + } +} \ No newline at end of file diff --git a/labs/lab10/CountLettere.java b/labs/lab10/CountLettere.java new file mode 100644 index 0000000..9f0b0b6 --- /dev/null +++ b/labs/lab10/CountLettere.java @@ -0,0 +1,36 @@ +// **************************************************************** +// CountLetters.java +// +// Reads a words from the standard input and prints the number of +// occurrences of each letter in that word. +// +// **************************************************************** +import java.util.Scanner; +public class CountLetterse +{ + public static void main(String[] args) + { + int[] counts = new int[26]; + Scanner scan = new Scanner(System.in); + //get word from user + System.out.print("Enter a single word (letters only, please): "); + String word = scan.nextLine(); + //convert to all upper case + word = word.toUpperCase(); + //count frequency of each letter in string + for (int i=0; i < word.length(); i++) { + try { + char current = word.charAt(i); + counts[word.charAt(i)-'A']++; + } + catch (Exception e){ + System.out.println("Reason for error:"+"!"+(char)word.charAt(i)+"!"); + } + } + //print frequencies + System.out.println(); + for (int i=0; i < counts.length; i++) + if (counts [i] != 0) + System.out.println((char)(i +'A') + ": " + counts[i]); + } +} \ No newline at end of file diff --git a/labs/lab10/CountLetters.java b/labs/lab10/CountLetters.java new file mode 100644 index 0000000..1ace707 --- /dev/null +++ b/labs/lab10/CountLetters.java @@ -0,0 +1,33 @@ +// **************************************************************** +// CountLetters.java +// +// Reads a words from the standard input and prints the number of +// occurrences of each letter in that word. +// +// **************************************************************** +import java.util.Scanner; +public class CountLetters +{ + public static void main(String[] args) + { + int[] counts = new int[26]; + Scanner scan = new Scanner(System.in); + //get word from user + System.out.print("Enter a single word (letters only, please): "); + String word = scan.nextLine(); + //convert to all upper case + word = word.toUpperCase(); + //count frequency of each letter in string + for (int i=0; i < word.length(); i++) { + char current = word.charAt(i); + if (current >= 'A' && current <= 'Z') { + counts[word.charAt(i)-'A']++; + } + } + //print frequencies + System.out.println(); + for (int i=0; i < counts.length; i++) + if (counts [i] != 0) + System.out.println((char)(i +'A') + ": " + counts[i]); + } +} \ No newline at end of file diff --git a/labs/lab10/Power.java b/labs/lab10/Power.java new file mode 100644 index 0000000..028335a --- /dev/null +++ b/labs/lab10/Power.java @@ -0,0 +1,42 @@ +// **************************************************************** +// Power.java +// +// Reads in two integers and uses a recursive power method +// to compute the first raised to the second power. +// **************************************************************** +import java.util.Scanner; +public class Power +{ + public static void main(String[] args) + { + int base, exp; + int answer; + Scanner scan = new Scanner(System.in); + System.out.print("Welcome to the power program! "); + System.out.println("Please use integers only."); + + //get base + System.out.print("Enter the base you would like raised to a power: "); + base = scan.nextInt(); + //get exponent + System.out.print("Enter the power you would like it raised to: "); + exp = scan.nextInt(); + answer = power(base,exp); + System.out.println(base + " raised to the " + exp + " is " + answer); + } + // ------------------------------------------------- + // Computes and returns base^exp + // ------------------------------------------------- + public static int power(int base, int exp) + { + int pow; + if (exp == 0) { + pow = 1; + } else { + pow = base*power(base, exp-1); + } + return pow; + //otherwise set pow to base*base^(exp-1) + //return pow + } +} diff --git a/labs/lab6/Account.class b/labs/lab6/Account.class index 0892538222d32cf1223119db4dd8257c553cb753..92fb41d91ed3ca0694a75c220138eeff919f4713 100644 GIT binary patch delta 817 zcmZ`&+int36kTVSVPKe|Ov@lspciR@!P*L1Y>REtwu&}>g9$OFiQ zjMt(`AL>h=`~(vdzrasW*ExfUZQ~?o_SxBMt$mw$YyTXxzWzEq0&oMn1M6ie2G>Rg z7X%XB{U@zX=jnd8_e?;vg{^gPG26c53GADJ< zD!OEWh3Uvr(WBxdwQ@>rek8WcW;CK4C01p9XLXz~U4dqbLeofLhV(@&Ns-`-UTkEY zsZW@Z&1kBbkWwbP!jx4MIFT!ia)z#{xHZM~jPifDi=65bi>_f7^}k$Ca_ghK&y8GG z4$e{ytkAA9dKK4{@*BhL%V?AyxbYa4(U1{(as=|x+3RcCZ~-B5o8EP-jF3J@D6x)z zz|9>X#bX|#1iU-N+hvATl}%>IOIC{)BXVNNVGf%cTw_o}lm7w86jH_75=$rrF83E?9oY~09)M2ukghJr$S3#&k8Qji9zoH31mfVs|C z_#@C6f};f$G*;Gj{sDi2<9lxcp|Ck;?>+Z@&U?=O89sNNAAi4J0a(ZWne!p)A#G#a zMF!cko9gU@KiYKb48|s}^3vCOO)TEVGKdpq=Rlluj$AUx@E^SD}kuZ4#qs&7P z2*YPA8@b zx7w`MF5a2(`(~oSEA6Jil@6wG%zP`vJf&y}k99*@$n#z>hxG*K;BI<*kC@v!<1(s@ oWpy0M)@Omwe0=}OE*J2GcM>Z^_x^H?FV?Zilf$nq>|hU>e`m`|#{d8T diff --git a/labs/lab6/Account.java b/labs/lab6/Account.java index 09364d5..d8a32ac 100644 --- a/labs/lab6/Account.java +++ b/labs/lab6/Account.java @@ -9,6 +9,7 @@ public class Account private double balance; private String name; private long acctNum; + private static int numAccounts = 0; //---------------------------------------------- //Constructor -- initializes balance, owner, and account number //---------------------------------------------- @@ -17,15 +18,18 @@ public class Account balance = initBal; name = owner; acctNum = number; + ++numAccounts; } public Account(double initBal, String owner) { balance = initBal; name = owner; + ++numAccounts; } public Account(String owner) { name = owner; + ++numAccounts; } //---------------------------------------------- // Checks to see if balance is sufficient for withdrawal. @@ -59,6 +63,16 @@ public class Account { return balance; } +// Static + public static int getNumAccounts() + { + return numAccounts; + } + + public void close () { + name += " Closed"; + + } //---------------------------------------------- // Returns a string containing the name, account number, and balance. //---------------------------------------------- @@ -66,6 +80,7 @@ public class Account { return "Name:" + name + "\nAccount Number: " + acctNum + -"\nBalance: " + balance; +"\nBalance: " + balance; +//"\nTotal account number: " + numAccounts; } } diff --git a/labs/lab7/IntList.class b/labs/lab7/IntList.class new file mode 100644 index 0000000000000000000000000000000000000000..3111d0ab13f27e95de7e5b880bea2c81382b94bf GIT binary patch literal 902 zcmaKq+int36o&sjgB_R-ZJ`HR!9uI$T<}l)9uhTu0H47pG4b$kAR2As%|5KX*7yH=?fvD)$72BNxS>OVsv%(D48{becFmV& z*)iRn^5*ug)$|0$ZrQHw-4;-@xkd;|#$gC(RoAQ8eP)fje*3OtwJq1{3y7*r zoG>tnDS?19NKu|J8pX7R83VJJ`%A6se;I62!bf zY{PUjUdn8>iYduW+5OaW-*I%DMO;I|z&R`mOrHXv->$?tE)}vviNRILx80peuAw1C zg+DzQ9^CP5r)BkYB%#XTynzc?VQ0*4*K%6|iEK4@0ynCn>x_VMGbJl?vNA8QdYbxw z2t~G3mw=LiGA;@Pz0S~^z)bd}c7;u+rv|5uPRkOQtl6&hz;AC`y+`J@!-&cb3WV#P z*?e)|?2e*(z2o!8DO5)77#<6#uF%Dk;bHDB{oehHgROPOD&ZrYoCzZ zI>J&-T~A2%TPzn6hggoL50RCEiIUtExO@Cs5qm$sa=H5MAJr8$Db4$3sF>z`asyQZ S%6I4*lHwbq0&9b+>%RbnC$(k( literal 0 HcmV?d00001 diff --git a/labs/lab7/IntList.java b/labs/lab7/IntList.java new file mode 100644 index 0000000..693a50f --- /dev/null +++ b/labs/lab7/IntList.java @@ -0,0 +1,50 @@ +// **************************************************************** +// IntList.java +// +// An (unsorted) integer list class with a method to add an +// integer to the list and a toString method that returns the contents +// of the list with indices. +// **************************************************************** +public class IntList { + protected int[] list; + protected int numElements = 0; + + //------------------------------------------------------------- + // Constructor -- creates an integer list of a given size. + //------------------------------------------------------------- + public IntList(int size) { + list = new int[size]; + } + + //------------------------------------------------------------- + // Adds an integer to the list. If the list is full, + // prints a message and does nothing. + //------------------------------------------------------------- + public void add(int value) { + if (numElements == list.length) { + System.out.println("Can't add, list is full"); + } else { + list[numElements] = value; + numElements++; + } + } + + //------------------------------------------------------------- + // Returns the list elements with indices as a string. + //------------------------------------------------------------- + @Override + public String toString() { + StringBuilder result = new StringBuilder(); + for (int i = 0; i < numElements; i++) { + result.append(i).append(": ").append(list[i]).append("\n"); + } + return result.toString(); + } +} + +// ------------------------------------------------------------- +// Interface for sorting numbers. +// ------------------------------------------------------------- +interface NumberSorter { + void sortNumbers(); +} \ No newline at end of file diff --git a/labs/lab7/ListTest.class b/labs/lab7/ListTest.class new file mode 100644 index 0000000000000000000000000000000000000000..6932b7c2c52f747b845d007a5b700cbc895a0add GIT binary patch literal 637 zcmZvZ-D?v;6vcm&q}|QBX*O-r+AnSW+%&;}_>@|G5QSp=fRuptX_E|PO0p}-M({84 zSszkp!DsQ067Qt7R&fT-%-lKm+%t23{5<^z>=Alo$U5YF=9pIm$I-{AF^J-$#+&Z3 z?xl+P$0j!E6Gb+xb{t%Vvmd7|Gfq7mJezn;kqh^$9UCb4EZ9Ic>i6>mlpGd)mMH%v z-u^UB^-x&JL`qazv$7^>yd9Z1ZKoq04R<}3S#h}Tv&x!c=|3Ft^1)^dVi5_?Rj!!d zt#({C6r~HpTfHPsb)1fyR{Mq(zWGn0)Hd;vBsy#>T>H!eJr<9-XGvcxiY*iC*OOsa zj}D^lKq9$eWTgCZczC7$rHsOBCzDZ6zc7|u_$~OrzJ_hKy>Rwe7) z&I#&^Y!tTz?KQaMxx-!ATk2=BGU4zH=Uw2PkZ;w3{uI9!JhWKi`|PkP_?2R9O68LI zsvdX}uDce3@(hdTyv6k?o5HUP|Br#D^cH+P3ewsI`NX1l4a8iD9cl6-$~39)RBoQL T!b{d@v(9@q#O^)G&2ax0DoK2W literal 0 HcmV?d00001 diff --git a/labs/lab7/ListTest.java b/labs/lab7/ListTest.java new file mode 100644 index 0000000..3ef22c1 --- /dev/null +++ b/labs/lab7/ListTest.java @@ -0,0 +1,29 @@ +// **************************************************************** +// ListTest.java +// +// A simple test program that creates an IntList, puts some +// ints in it, and prints the list. +// +// **************************************************************** +public class ListTest +{ + public static void main(String[] args) + { + IntList myList = new IntList(10); + myList.add(100); + myList.add(50); + myList.add(200); + myList.add(25); + System.out.println(myList); + + IntList intList = new IntList(10); + intList.add(10); + intList.add(5); + intList.add(20); + intList.add(15); + + // Print the unsorted list + System.out.println("IntList contents:"); + System.out.println(intList); + } +} \ No newline at end of file diff --git a/labs/lab7/NumberSorter.class b/labs/lab7/NumberSorter.class new file mode 100644 index 0000000000000000000000000000000000000000..a08de1f34f57ab5f90974f3b48c5d72053a4d52b GIT binary patch literal 128 zcmX^0Z`VEs1_oOOPId++Mg|_g(%hufqTu|ZlGGx01{OvJfvm)`ME#t^ymWp4q^#8B z5=I8@VxTlcVKE~Evxa6EBLi1(erZv1s#|7GD$o?qyb_pdz3hKpJQs PD+5pfD8ddTnHV?##l9TE literal 0 HcmV?d00001 diff --git a/labs/lab7/Player.java b/labs/lab7/Player.java new file mode 100644 index 0000000..9b9d60b --- /dev/null +++ b/labs/lab7/Player.java @@ -0,0 +1,43 @@ +// ********************************************************** +// Player.java +// +// Defines a Player class that holds information about an athlete. +// ********************************************************** +import java.util.Scanner; +public class Player +{ + private String name; + private String team; + private int jerseyNumber; + //----------------------------------------------------------- + // Prompts for and reads in the player's name, team, and + // jersey number. + //----------------------------------------------------------- + public void readPlayer() + { + Scanner scan = new Scanner(System.in); + System.out.print("Name: "); + name = scan.nextLine(); + System.out.print("Team: "); + team = scan.nextLine(); + System.out.print("Jersey number: "); + jerseyNumber = Scan.nextInt(); + } + +@Override + public boolean equals(Object obj) { + if (this == obj) return true; // Check if the two references are the same + if (obj == null || getClass() != obj.getClass()) return false; // Ensure obj is a Player + + Player other = (Player) obj; // Typecast obj to Player + return team.equals(other.team) && jerseyNumber == other.jerseyNumber; + } + + //----------------------------------------------------------- + // Returns a string representation of the player. + //----------------------------------------------------------- + @Override + public String toString() { + return "Name: " + name + ", Team: " + team + ", Jersey Number: " + jerseyNumber; + } +} \ No newline at end of file diff --git a/labs/lab7/SortedIntList.class b/labs/lab7/SortedIntList.class new file mode 100644 index 0000000000000000000000000000000000000000..241ecbe42f54fd6595aeaa944a01b311780c1c36 GIT binary patch literal 564 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 literal 0 HcmV?d00001 diff --git a/labs/lab7/chapter8_lab-7.pdfZone.Identifier b/labs/lab7/chapter8_lab-7.pdfZone.Identifier new file mode 100644 index 0000000..e69de29