/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
Scanner keyboard
= new Scanner
( System .
in ) ; boolean loop1 = false ;
boolean loop2 = false ;
boolean loop3 = false ;
int numNouns = 0 , numAdjectives = 0 ;
System .
out .
println ( "-----------------------------------------" ) ; System .
out .
println ( " Let's write a poem! " ) ; System .
out .
println ( "-----------------------------------------" ) ;
while ( ! loop1)
{
System .
out .
print ( "How many nouns? (min 3): " ) ; numNouns = keyboard.nextInt ( ) ;
if ( numNouns < 3 )
{
continue ;
}
else
{
loop1 = true ;
}
System .
out .
println ( "Enter " + numNouns
+ " nouns: " ) ;
for ( int i = 0 ; i < numNouns; i++ )
{
nouns[ i] = keyboard.next ( ) ;
}
}
while ( ! loop2)
{
System .
out .
print ( "How many adjectives? (min 3): " ) ; numAdjectives = keyboard.nextInt ( ) ;
if ( numAdjectives < 3 )
{
continue ;
}
else
{
loop2 = true ;
}
System .
out .
println ( "Enter " + numAdjectives
+ " adjectives: " ) ; adjectives
= new String [ numAdjectives
] ;
for ( int j = 0 ; j < numAdjectives; j++ )
{
adjectives[ j] = keyboard.next ( ) ;
}
}
while ( ! loop3)
{
System .
out .
println ( "\n -----------------------------------" ) ; System .
out .
println ( " Here is my Java Poem! " ) ; System .
out .
println ( " **LOOK AROUND** " ) ; System .
out .
println ( "-----------------------------------" ) ;
boolean [ ] noDuplicate1 = new boolean [ numNouns] ;
boolean [ ] noDuplicate2 = new boolean [ numAdjectives] ;
int numTabsToPrint = 0 ;
for ( int i = 0 ; i < 1000 ; i++ )
{
int num1
= ( int ) ( Math .
random ( ) * numNouns
) ; int num2
= ( int ) ( Math .
random ( ) * numAdjectives
) ;
if ( noDuplicate1[ num1] == false && noDuplicate2[ num2] == false )
{
for ( int j = 0 ; j < numTabsToPrint; j++ )
{
}
System .
out .
println ( adjectives
[ num2
] + nouns
[ num1
] ) ; noDuplicate1[ num1] = true ;
noDuplicate2[ num2] = true ;
numTabsToPrint++;
}
}
System .
out .
print ( "\n Another poem? (y/n): " ) ; String again
= keyboard.
next ( ) ;
if ( again.charAt ( 0 ) == 'y' || again.charAt ( 0 ) == 'Y' )
{
continue ;
}
else
{
loop3 = true ;
}
}
System .
out .
println ( "Thank you for using the POEM GENERATOR! Have a good day!" ) ;
keyboard.close ( ) ;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlTY2FubmVyIGtleWJvYXJkID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCSAgICBib29sZWFuIGxvb3AxID0gZmFsc2U7CgkgICAgYm9vbGVhbiBsb29wMiA9IGZhbHNlOwoJICAgIGJvb2xlYW4gbG9vcDMgPSBmYWxzZTsKCSAgICBpbnQgbnVtTm91bnMgPSAwLCBudW1BZGplY3RpdmVzID0gMDsKCSAgICBTdHJpbmdbXSBub3VucyA9IG5ldyBTdHJpbmdbbnVtTm91bnNdOwoJICAgIFN0cmluZ1tdIGFkamVjdGl2ZXMgPSBuZXcgU3RyaW5nW251bUFkamVjdGl2ZXNdOwoJCgkgICAgU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOwoJICAgIFN5c3RlbS5vdXQucHJpbnRsbigiICAgICAgICAgICBMZXQncyB3cml0ZSBhIHBvZW0hICAgICAgICAgICAiKTsKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CgkgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CgkKCSAgICB3aGlsZSAoIWxvb3AxKQoJICAgIHsKCSAgICAgICAgU3lzdGVtLm91dC5wcmludCgiSG93IG1hbnkgbm91bnM/IChtaW4gMyk6ICIpOwoJICAgICAgICBudW1Ob3VucyA9IGtleWJvYXJkLm5leHRJbnQoKTsKCQoJICAgICAgICBpZiAobnVtTm91bnMgPCAzKQoJICAgICAgICB7CgkgICAgICAgICAgICBjb250aW51ZTsKCSAgICAgICAgfQoJICAgICAgICBlbHNlCgkgICAgICAgIHsKCSAgICAgICAgICAgIGxvb3AxID0gdHJ1ZTsKCSAgICAgICAgfQoJCgkgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRW50ZXIgIiArIG51bU5vdW5zICsgIiBub3VuczogIik7CgkgICAgICAgIG5vdW5zID0gbmV3IFN0cmluZ1tudW1Ob3Vuc107CgkKCSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1Ob3VuczsgaSsrKQoJICAgICAgICB7CgkgICAgICAgICAgICBub3Vuc1tpXSA9IGtleWJvYXJkLm5leHQoKTsKCSAgICAgICAgfQoJICAgIH0KCSAgICB3aGlsZSAoIWxvb3AyKQoJICAgIHsKCSAgICAgICAgU3lzdGVtLm91dC5wcmludCgiSG93IG1hbnkgYWRqZWN0aXZlcz8gKG1pbiAzKTogIik7CgkgICAgICAgIG51bUFkamVjdGl2ZXMgPSBrZXlib2FyZC5uZXh0SW50KCk7CgkKCSAgICAgICAgaWYgKG51bUFkamVjdGl2ZXMgPCAzKQoJICAgICAgICB7CgkgICAgICAgICAgICBjb250aW51ZTsKCSAgICAgICAgfQoJICAgICAgICBlbHNlCgkgICAgICAgIHsKCSAgICAgICAgICAgIGxvb3AyID0gdHJ1ZTsKCSAgICAgICAgfQoJCgkgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiRW50ZXIgIiArIG51bUFkamVjdGl2ZXMgKyAiIGFkamVjdGl2ZXM6ICIpOwoJICAgICAgICBhZGplY3RpdmVzID0gbmV3IFN0cmluZ1tudW1BZGplY3RpdmVzXTsKCQoJICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG51bUFkamVjdGl2ZXM7IGorKykKCSAgICAgICAgewoJICAgICAgICAgICAgYWRqZWN0aXZlc1tqXSA9IGtleWJvYXJkLm5leHQoKTsKCSAgICAgICAgfQoJICAgIH0KCQoJICAgIHdoaWxlICghbG9vcDMpCgkgICAgewoJICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKCSAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCIgICAgICAgIEhlcmUgaXMgbXkgSmF2YSBQb2VtISAgICAgICAgICIpOwoJICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIiAgICAgICAgICAgKipMT09LIEFST1VORCoqICAgICAgICAgICAgIik7CgkgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKCSAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CgkKCSAgICAgICAgYm9vbGVhbltdIG5vRHVwbGljYXRlMSA9IG5ldyBib29sZWFuW251bU5vdW5zXTsKCSAgICAgICAgYm9vbGVhbltdIG5vRHVwbGljYXRlMiA9IG5ldyBib29sZWFuW251bUFkamVjdGl2ZXNdOwoJICAgICAgICAKCSAgICAgICAgaW50IG51bVRhYnNUb1ByaW50ID0gMDsKCQoJICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgMTAwMDsgaSsrKQoJICAgICAgICB7ICAgICAgICAgICAgICAgCgkgICAgICAgICAgICBpbnQgbnVtMSA9IChpbnQpIChNYXRoLnJhbmRvbSgpICogbnVtTm91bnMpOyAKCSAgICAgICAgICAgIGludCBudW0yID0gKGludCkgKE1hdGgucmFuZG9tKCkgKiBudW1BZGplY3RpdmVzKTsKCQoJICAgICAgICAgICAgaWYgKG5vRHVwbGljYXRlMVtudW0xXSA9PSBmYWxzZSAmJiBub0R1cGxpY2F0ZTJbbnVtMl0gPT0gZmFsc2UpCgkgICAgICAgICAgICB7CgkgICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBudW1UYWJzVG9QcmludDsgaisrKQoJICAgICAgICAgICAgICAgIHsKCSAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCgiXHQiKTsKCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGFkamVjdGl2ZXNbbnVtMl0gKyBub3Vuc1tudW0xXSk7CgkgICAgICAgICAgICAgICAgbm9EdXBsaWNhdGUxW251bTFdID0gdHJ1ZTsKCSAgICAgICAgICAgICAgICBub0R1cGxpY2F0ZTJbbnVtMl0gPSB0cnVlOwoJICAgICAgICAgICAgICAgIG51bVRhYnNUb1ByaW50Kys7CgkgICAgICAgICAgICB9CgkgICAgICAgIH0KCQoJICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCJcbkFub3RoZXIgcG9lbT8gKHkvbik6ICIpOwoJICAgICAgICBTdHJpbmcgYWdhaW4gPSBrZXlib2FyZC5uZXh0KCk7CgkKCSAgICAgICAgaWYgKGFnYWluLmNoYXJBdCgwKSA9PSAneScgfHwgYWdhaW4uY2hhckF0KDApID09ICdZJykKCSAgICAgICAgewoJICAgICAgICAgICAgY29udGludWU7CgkgICAgICAgIH0KCSAgICAgICAgZWxzZQoJICAgICAgICB7CgkgICAgICAgICAgICBsb29wMyA9IHRydWU7CgkgICAgICAgIH0KCSAgICB9CgkKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlRoYW5rIHlvdSBmb3IgdXNpbmcgdGhlIFBPRU0gR0VORVJBVE9SISBIYXZlIGEgZ29vZCBkYXkhIik7ICAgICAgICAgCgkKCSAgICBrZXlib2FyZC5jbG9zZSgpOwoJfQp9