Assignment #12

Instructions

  1. Write a Java application that does the following.
    1. Use the first argument of commandline input as the input file name.
      1. For example, args[0] will be the name of your input file.
      2. The name of your input file should be typed into the Run Arguments text box at the top of jGRASP.
    2. Your main method should be short with only two (2) method calls. You might also need some error checking for commandline input and other possible errors, so you should use if statements and/or try-catch blocks.
    3. Store each word in the input file in an array of Strings.
      1. Write a method to accomplish this.
      2. The parameter of the method is the input file name.
      3. The method should return an array of Strings with all the words in the input file.
      4. You need to make a connection to the input file and read each word.
      5. If you're not sure how to read one word at a time from an input file, check out the methods of the Scanner class in the Java API.
    4. Print out all the words in the array in ASCII order by using the compareTo() method of class String. The compareTo() method of class String will be called by the sorting methods in the Sorting.java program. You DO NOT need to write or use the compareTo() method in your code. It will be automatically called by sorting methods in the Sorting.java program.
      1. Write a method to accomplish this.
      2. The parameters of the method are the array of Strings and the file name.
      3. Sort the words in the array in ASCII order by choosing the appropriate sorting method in the Sorting.java program. Note that if you try to sort NULL elements, you will get a NullPointerException. To prevent this, sort from 0 to the last word that is inserted into the array. For example: Sorting.quickSort(array, 0, indexOfLastWord);
        1. To do this, you need to save the Sorting.java program in the same folder as your LastnameFirstname12.java program.
        2. You DO NOT need to change any code in the Sorting.java program.
        3. To prevent the automatic output of the Sorting.java program, use this code before you sort: Sorting.display = false;
        4. Here are two examples that show how to use the methods in the Sorting.java program: Searching.java and GroceryListProgram5.java
        5. You DO NOT need to write a separate sorting method in your LastnameFirstname12.java program. The point of this assignment is to learn how to recycle (reuse) code.
        6. You can calculate the indexOfLastWord in several ways. You can store the count of the number of words from the readFileReturnWords() method and store the count in a global variable, so that any method can access the variable. Or you can loop through the array and count all of the elements that are not NULL. The indexOfLastWord is one less than the count (count - 1). Or maybe you have another creative way to do this.
      4. Print the name of the file.
      5. Print all of the words that are stored in the array.
      6. Your output should be similar to the output below.
    5. Write your original comments every 3-5 lines of code.
    6. WARNING: Do NOT copy my code or my comments. Use my code as a guide to write your own code.
  2. Don't forget to add "JavaDoc" style comments above each method. See ICS 211 Java Coding Standard (Comments: Methods) for details.

Program outline

    public class LastnameFirstname12 {	 	
       public static void main(String [ ] commandlineArguments){
         String[ ] array = readFileReturnWords(commandlineArguments[0]);
         sortAndPrintArray(array, commandlineArguments[0]);      	     
      }
       public static String [] readFileReturnWords(String filename){
         //create array
         //read one word at a time from file and store in array
         //return the array
      }
       public static void sortAndPrintArray(String [] array, String filename){
         //sort the array
         //print the array
      }   
   }																						

Output

  1. Here is example output for input file: 10.txt
    Alphabetical (ASCII) listing of words in file: 10.txt
    index = 0, element = 11,
    index = 1, element = 13,
    index = 2, element = 17,
    index = 3, element = 19,
    index = 4, element = 2,
    index = 5, element = 23,
    index = 6, element = 29.
    index = 7, element = 3,
    index = 8, element = 5,
    index = 9, element = 7,
    index = 10, element = The
    index = 11, element = and
    index = 12, element = are:
    index = 13, element = first
    index = 14, element = primes
    index = 15, element = ten
        
  2. Here is example output for input file: groceries.csv
    Alphabetical (ASCII) listing of words in file "groceries.csv:
    index = 0, element = Name,Number
    index = 1, element = eggs,12
    index = 2, element = garlic,5
    index = 3, element = natto,3
    index = 4, element = negi,1
    index = 5, element = shiitake,1
    index = 6, element = umeboshi,1
        
  3. Here is example output for input file: electricity.txt
    Alphabetical (ASCII) listing of words in file: electricity.txt
    index = 0, element = "A
    index = 1, element = "bulldozer"
    index = 2, element = "electrons",
    index = 3, element = "eyeball".
    index = 4, element = (this
    index = 5, element = (this
    index = 6, element = ...
    index = 7, element = 1877
    index = 8, element = 1879
    index = 9, element = 1923
    index = 10, element = 1937.
    index = 11, element = 2000
    index = 12, element = AMAZING
    index = 13, element = AMP,
    index = 14, element = After
    index = 15, element = Although
    index = 16, element = Barry
    index = 17, element = Benjamin
    index = 18, element = Bob
    index = 19, element = Dave
    index = 20, element = Did
    index = 21, element = ELECTRICITY
    index = 22, element = ELECTRONIC
    index = 23, element = Edison
    index = 24, element = Edison's
    index = 25, element = Edison's
    index = 26, element = Edison's
    index = 27, element = Edison.
    index = 28, element = Eventually
    index = 29, element = FACT:
    index = 30, element = Franklin
    index = 31, element = Franklin's
    index = 32, element = Franklin,
    index = 33, element = Franklin,
    index = 34, element = Galvani
    index = 35, element = Galvani's
    index = 36, element = Galvani's,
    index = 37, element = He
    index = 38, element = Here
    index = 39, element = IS:
    index = 40, element = If
    index = 41, element = In
    index = 42, element = In
    index = 43, element = It
    index = 44, element = It
    index = 45, element = James
    index = 46, element = Jersey.
    index = 47, element = Louise
    index = 48, element = Mary
    index = 49, element = Myron
    index = 50, element = NEW
    index = 51, element = New
    index = 52, element = On
    index = 53, element = QUESTION
    index = 54, element = SCIENCE
    index = 55, element = SCIENTIFIC
    index = 56, element = TODAY'S
    index = 57, element = The
    index = 58, element = The
    index = 59, element = The
    index = 60, element = Then
    index = 61, element = Then
    index = 62, element = These
    index = 63, element = This
    index = 64, element = This
    index = 65, element = This
    index = 66, element = This
    index = 67, element = Thomas
    index = 68, element = Today
    index = 69, element = Today,
    index = 70, element = Transformer,
    index = 71, element = Volt,
    index = 72, element = Watt,
    index = 73, element = What
    index = 74, element = When
    index = 75, element = a
    index = 76, element = a
    index = 77, element = a
    index = 78, element = a
    index = 79, element = a
    index = 80, element = a
    index = 81, element = a
    index = 82, element = a
    index = 83, element = a
    index = 84, element = a
    index = 85, element = a
    index = 86, element = a
    index = 87, element = a
    index = 88, element = a
    index = 89, element = a
    index = 90, element = a
    index = 91, element = a
    index = 92, element = a
    index = 93, element = a
    index = 94, element = about
    index = 95, element = about
    index = 96, element = achievment
    index = 97, element = adaptation
    index = 98, element = advances
    index = 99, element = after
    index = 100, element = again.
    index = 101, element = ago
    index = 102, element = all
    index = 103, element = almost
    index = 104, element = almost.
    index = 105, element = along
    index = 106, element = along
    index = 107, element = also
    index = 108, element = also
    index = 109, element = american
    index = 110, element = amphibian
    index = 111, element = an
    index = 112, element = an
    index = 113, element = an
    index = 114, element = an
    index = 115, element = an
    index = 116, element = an
    index = 117, element = and
    index = 118, element = and
    index = 119, element = and
    index = 120, element = and
    index = 121, element = and
    index = 122, element = and
    index = 123, element = and
    index = 124, element = and
    index = 125, element = and
    index = 126, element = and
    index = 127, element = and
    index = 128, element = and
    index = 129, element = and
    index = 130, element = another
    index = 131, element = any
    index = 132, element = any
    index = 133, element = anything,
    index = 134, element = anyway.
    index = 135, element = are
    index = 136, element = as
    index = 137, element = as
    index = 138, element = as
    index = 139, element = at
    index = 140, element = attached
    index = 141, element = attached
    index = 142, element = attract
    index = 143, element = back
    index = 144, element = back
    index = 145, element = back
    index = 146, element = back
    index = 147, element = batch
    index = 148, element = batches
    index = 149, element = be
    index = 150, element = be
    index = 151, element = be
    index = 152, element = become
    index = 153, element = been
    index = 154, element = benefits
    index = 155, element = bloodstream
    index = 156, element = brain
    index = 157, element = brillian
    index = 158, element = brilliant
    index = 159, element = brilliant
    index = 160, element = build
    index = 161, element = bulldozer
    index = 162, element = but
    index = 163, element = but
    index = 164, element = by
    index = 165, element = by
    index = 166, element = came
    index = 167, element = came
    index = 168, element = came
    index = 169, element = can
    index = 170, element = can
    index = 171, element = can
    index = 172, element = can
    index = 173, element = can
    index = 174, element = carpet
    index = 175, element = carpet,
    index = 176, element = carpet,
    index = 177, element = carpeting.
    index = 178, element = carpets
    index = 179, element = carpets,
    index = 180, element = caught,
    index = 181, element = change
    index = 182, element = circut
    index = 183, element = circut.
    index = 184, element = circut.
    index = 185, element = closely.
    index = 186, element = collect
    index = 187, element = company
    index = 188, element = company
    index = 189, element = company.
    index = 190, element = completing
    index = 191, element = conducted
    index = 192, element = cool
    index = 193, element = could
    index = 194, element = cried
    index = 195, element = current
    index = 196, element = customer
    index = 197, element = customer
    index = 198, element = customer,
    index = 199, element = customers
    index = 200, element = damaged
    index = 201, element = day
    index = 202, element = day,
    index = 203, element = dead
    index = 204, element = decade,
    index = 205, element = delicate
    index = 206, element = dental
    index = 207, element = design
    index = 208, element = despite
    index = 209, element = developed
    index = 210, element = developed
    index = 211, element = device
    index = 212, element = did
    index = 213, element = different
    index = 214, element = dirt.
    index = 215, element = discovered
    index = 216, element = discovery
    index = 217, element = doctors
    index = 218, element = does
    index = 219, element = down
    index = 220, element = earned".
    index = 221, element = education
    index = 222, element = electric
    index = 223, element = electric
    index = 224, element = electric
    index = 225, element = electric
    index = 226, element = electrical
    index = 227, element = electrical
    index = 228, element = electrical
    index = 229, element = electrical
    index = 230, element = electrical
    index = 231, element = electrical
    index = 232, element = electrical
    index = 233, element = electrical
    index = 234, element = electrical
    index = 235, element = electrical
    index = 236, element = electrical
    index = 237, element = electricity
    index = 238, element = electricity
    index = 239, element = electricity
    index = 240, element = electricity
    index = 241, element = electricity
    index = 242, element = electricity
    index = 243, element = electricity
    index = 244, element = electricity.
    index = 245, element = electricity.
    index = 246, element = electronic
    index = 247, element = electrons
    index = 248, element = electrons
    index = 249, element = enormous
    index = 250, element = enough
    index = 251, element = etc.
    index = 252, element = etc.
    index = 253, element = even
    index = 254, element = examine
    index = 255, element = experiment
    index = 256, element = experiments.
    index = 257, element = explode.
    index = 258, element = eyeball,
    index = 259, element = fact
    index = 260, element = fact,
    index = 261, element = feet
    index = 262, element = feet
    index = 263, element = feet
    index = 264, element = feet,
    index = 265, element = few
    index = 266, element = filling,
    index = 267, element = fillings.
    index = 268, element = finger
    index = 269, element = finger,
    index = 270, element = first
    index = 271, element = first
    index = 272, element = flew
    index = 273, element = for
    index = 274, element = force
    index = 275, element = force,
    index = 276, element = form
    index = 277, element = formal
    index = 278, element = found
    index = 279, element = friend
    index = 280, element = friend's
    index = 281, element = friends
    index = 282, element = frog
    index = 283, element = frog's
    index = 284, element = frog,
    index = 285, element = frog,
    index = 286, element = frogs
    index = 287, element = from
    index = 288, element = from
    index = 289, element = generated
    index = 290, element = get
    index = 291, element = gets
    index = 292, element = given
    index = 293, element = go
    index = 294, element = granted,
    index = 295, element = greatest
    index = 296, element = greatest
    index = 297, element = had
    index = 298, element = had
    index = 299, element = hand
    index = 300, element = has
    index = 301, element = have
    index = 302, element = have
    index = 303, element = have
    index = 304, element = have
    index = 305, element = he
    index = 306, element = he
    index = 307, element = he
    index = 308, element = he
    index = 309, element = he
    index = 310, element = herd
    index = 311, element = his
    index = 312, element = his
    index = 313, element = homes
    index = 314, element = hop
    index = 315, element = how
    index = 316, element = how
    index = 317, element = human
    index = 318, element = hundreds
    index = 319, element = hurt
    index = 320, element = illustrates
    index = 321, element = immediately
    index = 322, element = implant
    index = 323, element = important
    index = 324, element = important
    index = 325, element = important
    index = 326, element = in
    index = 327, element = in
    index = 328, element = in
    index = 329, element = in
    index = 330, element = in
    index = 331, element = in
    index = 332, element = in
    index = 333, element = in
    index = 334, element = in
    index = 335, element = in
    index = 336, element = in
    index = 337, element = in.
    index = 338, element = incomprehensible
    index = 339, element = injured
    index = 340, element = into
    index = 341, element = into
    index = 342, element = into
    index = 343, element = into
    index = 344, element = invented
    index = 345, element = invented.
    index = 346, element = invention
    index = 347, element = inventor
    index = 348, element = is
    index = 349, element = is
    index = 350, element = is
    index = 351, element = is
    index = 352, element = is
    index = 353, element = is
    index = 354, element = is
    index = 355, element = it
    index = 356, element = it
    index = 357, element = it
    index = 358, element = it
    index = 359, element = it
    index = 360, element = it
    index = 361, element = it
    index = 362, element = it
    index = 363, element = it
    index = 364, element = it
    index = 365, element = its
    index = 366, element = job
    index = 367, element = just
    index = 368, element = kicked,
    index = 369, element = killed,
    index = 370, element = kinds
    index = 371, element = kite
    index = 372, element = laser,
    index = 373, element = last
    index = 374, element = leaps
    index = 375, element = learn
    index = 376, element = leaves
    index = 377, element = led
    index = 378, element = leg
    index = 379, element = leg
    index = 380, element = lesson
    index = 381, element = lesson.
    index = 382, element = lightning
    index = 383, element = lights,
    index = 384, element = like
    index = 385, element = like
    index = 386, element = little
    index = 387, element = lived
    index = 388, element = long
    index = 389, element = longer
    index = 390, element = major
    index = 391, element = manufacturers
    index = 392, element = many
    index = 393, element = many
    index = 394, element = maxims,
    index = 395, element = means
    index = 396, element = medicine.
    index = 397, element = men
    index = 398, element = metal
    index = 399, element = metal
    index = 400, element = mixers,
    index = 401, element = modern
    index = 402, element = mouth
    index = 403, element = muscles,
    index = 404, element = must
    index = 405, element = names
    index = 406, element = need
    index = 407, element = never
    index = 408, element = never
    index = 409, element = no
    index = 410, element = no
    index = 411, element = not
    index = 412, element = nothing
    index = 413, element = notice
    index = 414, element = objects
    index = 415, element = of
    index = 416, element = of
    index = 417, element = of
    index = 418, element = of
    index = 419, element = of
    index = 420, element = of
    index = 421, element = of
    index = 422, element = of
    index = 423, element = of
    index = 424, element = of
    index = 425, element = of
    index = 426, element = of
    index = 427, element = of
    index = 428, element = of
    index = 429, element = office.
    index = 430, element = on
    index = 431, element = one
    index = 432, element = one
    index = 433, element = only
    index = 434, element = operations
    index = 435, element = or
    index = 436, element = others
    index = 437, element = our
    index = 438, element = our
    index = 439, element = out
    index = 440, element = pain?
    index = 441, element = part
    index = 442, element = part)
    index = 443, element = past
    index = 444, element = penny
    index = 445, element = penny
    index = 446, element = people
    index = 447, element = perform
    index = 448, element = persons
    index = 449, element = phonograph.
    index = 450, element = picked
    index = 451, element = pieces
    index = 452, element = pioneer
    index = 453, element = pioneer,
    index = 454, element = pioneers
    index = 455, element = pioneers
    index = 456, element = place
    index = 457, element = plug
    index = 458, element = pond
    index = 459, element = post
    index = 460, element = power
    index = 461, element = powered
    index = 462, element = powerful
    index = 463, element = powerful
    index = 464, element = precise
    index = 465, element = proved
    index = 466, element = provided
    index = 467, element = radios,
    index = 468, element = reach
    index = 469, element = receive
    index = 470, element = received
    index = 471, element = record
    index = 472, element = remember
    index = 473, element = right
    index = 474, element = running
    index = 475, element = same
    index = 476, element = same
    index = 477, element = sat
    index = 478, element = saved
    index = 479, element = scientists
    index = 480, element = scuff
    index = 481, element = scuffed
    index = 482, element = scuffed
    index = 483, element = sell
    index = 484, element = send
    index = 485, element = sends
    index = 486, element = serious
    index = 487, element = seriously
    index = 488, element = setting
    index = 489, element = severely
    index = 490, element = shock.
    index = 491, element = simple
    index = 492, element = simple
    index = 493, element = since
    index = 494, element = since
    index = 495, element = skilled
    index = 496, element = small
    index = 497, element = so
    index = 498, element = so
    index = 499, element = so
    index = 500, element = so
    index = 501, element = so
    index = 502, element = spark
    index = 503, element = speaking
    index = 504, element = started
    index = 505, element = storm
    index = 506, element = such
    index = 507, element = surgeons
    index = 508, element = take
    index = 509, element = take
    index = 510, element = take
    index = 511, element = teach
    index = 512, element = teaches
    index = 513, element = tend
    index = 514, element = terminology:
    index = 515, element = thanks
    index = 516, element = that
    index = 517, element = that
    index = 518, element = that
    index = 519, element = that
    index = 520, element = that
    index = 521, element = that
    index = 522, element = that
    index = 523, element = that
    index = 524, element = that
    index = 525, element = that
    index = 526, element = that
    index = 527, element = that
    index = 528, element = that
    index = 529, element = the
    index = 530, element = the
    index = 531, element = the
    index = 532, element = the
    index = 533, element = the
    index = 534, element = the
    index = 535, element = the
    index = 536, element = the
    index = 537, element = the
    index = 538, element = the
    index = 539, element = the
    index = 540, element = the
    index = 541, element = the
    index = 542, element = the
    index = 543, element = the
    index = 544, element = the
    index = 545, element = the
    index = 546, element = the
    index = 547, element = the
    index = 548, element = the
    index = 549, element = the
    index = 550, element = the
    index = 551, element = the
    index = 552, element = the
    index = 553, element = the
    index = 554, element = the
    index = 555, element = the
    index = 556, element = the
    index = 557, element = the
    index = 558, element = the
    index = 559, element = their
    index = 560, element = them
    index = 561, element = them
    index = 562, element = then
    index = 563, element = then
    index = 564, element = then
    index = 565, element = there
    index = 566, element = these
    index = 567, element = they
    index = 568, element = they
    index = 569, element = they
    index = 570, element = they
    index = 571, element = things,
    index = 572, element = though
    index = 573, element = thousands
    index = 574, element = thousands
    index = 575, element = through
    index = 576, element = through
    index = 577, element = through
    index = 578, element = thus
    index = 579, element = time
    index = 580, element = times
    index = 581, element = to
    index = 582, element = to
    index = 583, element = to
    index = 584, element = to
    index = 585, element = to
    index = 586, element = to
    index = 587, element = to
    index = 588, element = to
    index = 589, element = to
    index = 590, element = to
    index = 591, element = to
    index = 592, element = to
    index = 593, element = to
    index = 594, element = to
    index = 595, element = to
    index = 596, element = to
    index = 597, element = to
    index = 598, element = to
    index = 599, element = toaster?
    index = 600, element = touch
    index = 601, element = touching
    index = 602, element = travel
    index = 603, element = travel
    index = 604, element = truth)
    index = 605, element = twitched
    index = 606, element = two
    index = 607, element = unless
    index = 608, element = unless
    index = 609, element = unlimited
    index = 610, element = until
    index = 611, element = up
    index = 612, element = up
    index = 613, element = use
    index = 614, element = use
    index = 615, element = vaporize
    index = 616, element = very
    index = 617, element = very
    index = 618, element = very
    index = 619, element = very
    index = 620, element = veterinary
    index = 621, element = violently
    index = 622, element = was
    index = 623, element = was
    index = 624, element = was
    index = 625, element = was
    index = 626, element = was
    index = 627, element = was
    index = 628, element = was
    index = 629, element = was
    index = 630, element = was
    index = 631, element = was
    index = 632, element = was
    index = 633, element = watch
    index = 634, element = we
    index = 635, element = we
    index = 636, element = we
    index = 637, element = we
    index = 638, element = weave
    index = 639, element = well
    index = 640, element = when
    index = 641, element = when
    index = 642, element = when
    index = 643, element = where
    index = 644, element = where
    index = 645, element = where
    index = 646, element = which
    index = 647, element = which
    index = 648, element = which
    index = 649, element = who
    index = 650, element = whose
    index = 651, element = will
    index = 652, element = will
    index = 653, element = wire
    index = 654, element = wire.
    index = 655, element = without
    index = 656, element = works.
    index = 657, element = world
    index = 658, element = worry
    index = 659, element = would
    index = 660, element = would
    index = 661, element = yards,
    index = 662, element = year
    index = 663, element = years
    index = 664, element = yet
    index = 665, element = you
    index = 666, element = you
    index = 667, element = you
    index = 668, element = you
    index = 669, element = you
    index = 670, element = you
    index = 671, element = you
    index = 672, element = your
    index = 673, element = your
    index = 674, element = your
    index = 675, element = your
    index = 676, element = your
    index = 677, element = your
    index = 678, element = your
    index = 679, element = your
    index = 680, element = your
        

Click to validate the HTML code

Click to validate the CSS code