add somemore stuff.
This commit is contained in:
parent
d063f452d1
commit
ab4974855a
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" path=""/>
|
||||||
|
<classpathentry kind="output" path="bin/default"/>
|
||||||
|
</classpath>
|
|
@ -1,5 +1,6 @@
|
||||||
.gradle
|
.gradle
|
||||||
/build/
|
/build/
|
||||||
|
/bin/
|
||||||
|
|
||||||
# Ignore Gradle GUI config
|
# Ignore Gradle GUI config
|
||||||
gradle-app.setting
|
gradle-app.setting
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>project</name>
|
||||||
|
<comment>Project java-projects created by Buildship.</comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
|
@ -0,0 +1,13 @@
|
||||||
|
arguments=
|
||||||
|
auto.sync=false
|
||||||
|
build.scans.enabled=false
|
||||||
|
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
|
||||||
|
connection.project.dir=
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
gradle.user.home=
|
||||||
|
java.home=/usr/lib/jvm/java-11-openjdk-amd64
|
||||||
|
jvm.arguments=
|
||||||
|
offline.mode=false
|
||||||
|
override.workspace.settings=true
|
||||||
|
show.console.view=true
|
||||||
|
show.executions.view=true
|
|
@ -23,7 +23,7 @@ dependencies {
|
||||||
}
|
}
|
||||||
testCompile 'junit:junit:4.12'
|
testCompile 'junit:junit:4.12'
|
||||||
compile 'junit:junit:4.12'
|
compile 'junit:junit:4.12'
|
||||||
implementation 'org.springframework.boot:spring-boot-devtools:2.2.6.RELEASE'
|
compile('org.springframework.boot:spring-boot-devtools:2.2.6.RELEASE')
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main {
|
main {
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
abash
|
||||||
|
aura
|
||||||
|
bar
|
||||||
|
barb
|
||||||
|
bee
|
||||||
|
beg
|
||||||
|
blush
|
||||||
|
bog
|
||||||
|
bogus
|
||||||
|
bough
|
||||||
|
bow
|
||||||
|
brew
|
||||||
|
briar
|
||||||
|
brow
|
||||||
|
brush
|
||||||
|
bug
|
||||||
|
bugs
|
||||||
|
bus
|
||||||
|
but
|
||||||
|
egg
|
||||||
|
ego
|
||||||
|
erg
|
||||||
|
ghost
|
||||||
|
go
|
||||||
|
goes
|
||||||
|
gorge
|
||||||
|
gosh
|
||||||
|
grew
|
||||||
|
grow
|
||||||
|
grub
|
||||||
|
gush
|
||||||
|
he
|
||||||
|
her
|
||||||
|
here
|
||||||
|
hew
|
||||||
|
hog
|
||||||
|
hose
|
||||||
|
how
|
||||||
|
hub
|
||||||
|
hug
|
||||||
|
huh
|
||||||
|
hush
|
||||||
|
owe
|
||||||
|
rub
|
||||||
|
sew
|
||||||
|
she
|
||||||
|
shrub
|
||||||
|
shrug
|
||||||
|
sir
|
||||||
|
sub
|
||||||
|
surge
|
||||||
|
swore
|
||||||
|
web
|
||||||
|
wee
|
||||||
|
were
|
||||||
|
whore
|
||||||
|
whose
|
||||||
|
woe
|
||||||
|
wore
|
||||||
|
worse
|
|
@ -1,5 +1,7 @@
|
||||||
package com.matthewjensen.project;
|
package com.matthewjensen.project;
|
||||||
|
|
||||||
|
import com.matthewjensen.project.modules.Anagrams;
|
||||||
|
import com.matthewjensen.project.modules.LetterInventory;
|
||||||
import com.matthewjensen.project.modules.AnagramMain;
|
import com.matthewjensen.project.modules.AnagramMain;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
|
||||||
|
@ -7,6 +9,9 @@ import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import java.util.*;
|
||||||
|
import java.io.*;
|
||||||
|
import org.slf4j.*;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class ProjectApplication {
|
public class ProjectApplication {
|
||||||
|
@ -18,16 +23,100 @@ public class ProjectApplication {
|
||||||
}
|
}
|
||||||
@RestController
|
@RestController
|
||||||
class TwentyQuestions {
|
class TwentyQuestions {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(TwentyQuestions.class);
|
||||||
|
|
||||||
|
@RequestMapping("/")
|
||||||
|
public void home() {
|
||||||
|
if (1 == 1) {
|
||||||
|
logger.info("Hello mobile user!");
|
||||||
|
} else if (3 == 3) {
|
||||||
|
logger.info("Hello tablet user!");
|
||||||
|
} else {
|
||||||
|
logger.info("Hello desktop user!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// dictionary file to use for input (change to dict2, dict3)
|
||||||
|
private static final String DICTIONARY_FILE = "dict1.txt";
|
||||||
|
|
||||||
|
// set to true to test runtime and # of letter inventories created
|
||||||
|
private static final boolean TIMING = true;
|
||||||
|
private static final boolean DEBUG = true;
|
||||||
|
|
||||||
@RequestMapping("/20questions")
|
@RequestMapping("/20questions")
|
||||||
String index() {
|
public String index() throws FileNotFoundException {
|
||||||
//AnagramMain anagram = new AnagramMain();
|
System.out.println("Welcome to the CS 145 anagram solver.");
|
||||||
|
System.out.println("Using dictionary file " + DICTIONARY_FILE + ".");
|
||||||
|
|
||||||
//String[] args = new String[4];
|
// read dictionary into a set
|
||||||
//try {
|
Scanner input = new Scanner(new File(DICTIONARY_FILE));
|
||||||
// anagram.main(args);
|
Set<String> dictionary = new TreeSet<String>();
|
||||||
//} catch (FileNotFoundException e){
|
while (input.hasNextLine()) {
|
||||||
//}
|
dictionary.add(input.nextLine());
|
||||||
|
}
|
||||||
|
dictionary = Collections.unmodifiableSet(dictionary); // read-only
|
||||||
|
|
||||||
|
// create Anagrams object for, well, solving anagrams
|
||||||
|
Anagrams solver = new Anagrams(dictionary);
|
||||||
|
|
||||||
|
// get first phrase to solve
|
||||||
|
Scanner console = new Scanner(System.in);
|
||||||
|
String phrase = getPhrase(console);
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
// loop to get/solve each phrase
|
||||||
|
while (phrase.length() > 0 || i > 1) {
|
||||||
|
i++;
|
||||||
|
System.out.println("All words found in \"" + phrase + "\":");
|
||||||
|
Set<String> allWords = solver.getWords(phrase);
|
||||||
|
System.out.println(allWords);
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
System.out.print("Max words to include (Enter for no max)? ");
|
||||||
|
String line;
|
||||||
|
if (DEBUG) {
|
||||||
|
line = "4";
|
||||||
|
} else {
|
||||||
|
line = console.nextLine().trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
long startTime = System.currentTimeMillis();
|
||||||
|
if (line.length() > 0) {
|
||||||
|
// use a max
|
||||||
|
int max = new Scanner(line).nextInt();
|
||||||
|
solver.print(phrase, max); // print all anagrams of phrase
|
||||||
|
} else {
|
||||||
|
// no max
|
||||||
|
solver.print(phrase); // print all anagrams of phrase
|
||||||
|
}
|
||||||
|
long endTime = System.currentTimeMillis();
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
// 12247 ms elapsed, 2594392 unique LetterInventory object(s) created
|
||||||
|
if (TIMING) {
|
||||||
|
long elapsed = endTime - startTime;
|
||||||
|
int inventories = LetterInventory.getInstanceCount();
|
||||||
|
System.out.println(elapsed + " ms elapsed, " + inventories +
|
||||||
|
" unique LetterInventory object(s) created");
|
||||||
|
LetterInventory.resetInstanceCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
// get next phrase to solve
|
||||||
|
phrase = getPhrase(console);
|
||||||
|
}
|
||||||
return "Hello There";
|
return "Hello There";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Helper to prompt for a phrase to generate anagrams.
|
||||||
|
public static String getPhrase(Scanner console) {
|
||||||
|
return "hello";
|
||||||
|
/*
|
||||||
|
System.out.println();
|
||||||
|
System.out.print("Phrase to scramble (Enter to quit)? ");
|
||||||
|
String phrase = console.nextLine().trim();
|
||||||
|
if (DEBUG) {
|
||||||
|
phrase = "barbara bush";
|
||||||
|
}
|
||||||
|
return phrase;
|
||||||
|
*/
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue