Computer Science 210
Data Structures
Fall 2019, Siena College
SpellsArrays BlueJ Project
Click here to download a BlueJ project for SpellsArrays.
SpellsArrays Source Code
The Java source code for SpellsArrays is below. Click on a file name to download it.
/** * Example SpellsArrays: a version of the Spells program that * uses parallel arrays to match up spells with their actions * * @author Jim Teresco, Siena College, CSIS 210, Fall 2017 * */ import java.io.File; import java.io.IOException; import java.util.Scanner; public class SpellsArrays { /** Create arrays representing Harry Potter spells, and look up spell actions by name. @param args not used @throws IOException */ public static void main(String args[]) throws IOException { final int NUM_SPELLS = 10; // create arrays of the magic spells we know. // one array has the spell incantations and the other // described their effects String spells[] = new String[NUM_SPELLS]; String actions[] = new String[NUM_SPELLS]; Scanner inFile = new Scanner(new File("spells.txt")); for (int i = 0; i < NUM_SPELLS; i++) { String spell = inFile.nextLine().trim(); String action = inFile.nextLine().trim(); spells[i] = spell; actions[i] = action; } inFile.close(); // we play a little game matching spells to descriptions // until an invalid spell is specified Scanner keyboard = new Scanner(System.in); int spellnum = 0; while (spellnum >= 0) { System.out.print("Which spell will you use? "); String spellName = keyboard.next(); spellnum = -1; for (int spellIndex = 0; spellIndex < spells.length; spellIndex++) { if (spellName.equals(spells[spellIndex])) { spellnum = spellIndex; break; } } if (spellnum >= 0) { System.out.println(actions[spellnum]); } else { System.out.println("Your wand doesn't know that one. It explodes. Bye!"); } } } }