Random Insult Generator - Really Need Help

  • #1

Main Question or Discussion Point

I need to make this Random Insult Generator work... I mistakenly thought it had compiled correctly, but I guess something went wrong. I would really appreciate some help with this as soon as possible. Thanks (I apologize for the sloppy code, I just saw Java code for the first time a few weeks ago, so this is pretty alien to me):

//InsultGenerator
//A program to generate insults.

import java.text.*;
import java.util.*;
import java.util.Random;

public class InsultGenerator
{//start
public static void main(String[] args)
{//start main
//variables
Random choice =new Random();
int a = choice.nextInt(adj.length);
int b = choice.nextInt(verb.length);
int c = choice.nextInt(noun.length);
//insult
{//start insult
String adj[] = { "poxmarked", "cantankerous", "bilestained", "scruffy looking"};
String verb[] = {"goatstealing"};
String noun[] = {"nerf herder", "blackguard"};
}//end insult
//Text
System.out.println("You "+adj[a]+", "+verb+" "+noun[n]+".");}
}//end main
 

Answers and Replies

  • #2
I need to make this Random Insult Generator work... I mistakenly thought it had compiled correctly, but I guess something went wrong. I would really appreciate some help with this as soon as possible. Thanks (I apologize for the sloppy code, I just saw Java code for the first time a few weeks ago, so this is pretty alien to me):
It would help to know what your error was :\

I never used Java but if it's a syntax error you're getting:

Random choice =new Random();

Put a space between '=' and 'new'.
 
  • #3
Gokul43201
Staff Emeritus
Science Advisor
Gold Member
7,051
16
Side note: 'goatstealing' is an adjective, not a verb.
 
  • #4
Defennder
Homework Helper
2,591
5
I wonder what this program can possibly be used for...
 
  • #5
CRGreathouse
Science Advisor
Homework Helper
2,820
0
I wonder what this program can possibly be used for...
You would wonder that, you poxmarked, goatstealing blackguard!
 
  • #6
28,755
5,022
I am not terribly familiar with Java, but it looks like you are using the length of adj verb and noun before they are defined.

At the line
int a = choice.nextInt(adj.length);
the variable adj has not been defined so its length is also undefined (or at best 0)
 
  • #7
CRGreathouse
Science Advisor
Homework Helper
2,820
0
it looks like you are using the length of adj verb and noun before they are defined.
Yes, and the insult section doesn't need braces (though I don't think they hurt).
 
  • #8
798
0
:rofl: Those are some weak insults.
 
  • #9
Alfi
Is this an attempt at an artificial Rodney Dangerfield ? That's not AI ...hehe it lacks the I part ..... j/k


it's a good start at programming.
Half is learning the silly syntax, half is learning what the routine is doing.
I always found the first half harder.
 
  • #10
28,755
5,022
:rofl: Those are some weak insults.
Yeah, but in our over-sensitive politically-correct world a really good one would probably get you expelled :frown:
 
  • #11
798
0
Damn right!
 
  • #12
berkeman
Mentor
56,476
6,380
Side note: 'goatstealing' is an adjective, not a verb.
It can be used for either, right? I was called a goatstealing fiend after I got caught goatstealing.
 
  • #13
378
2
Do testing :smile:
Some suggestions:

Code:
public static void main(String[] args)
{//start main
//variables
String adj[] = { "poxmarked", "cantankerous", "bilestained", "scruffy looking"};
String verb[] = {"goatstealing"};
String noun[] = {"nerf herder", "blackguard"};

Random choice =new Random();
int a = choice.nextInt(adj.length);
int b = choice.nextInt(verb.length);
int c = choice.nextInt(noun.length);
//Text
System.out.println("You "+adj[a]+", "+verb[b]+" "+noun[n]+".");
}
Code:
public static void main(String[] args)
{//start main
//variables
String adj[] = { "poxmarked", "cantankerous", "bilestained", "scruffy looking"};
String verb[] = {"goatstealing"};
String noun[] = {"nerf herder", "blackguard"};


//Text
System.out.println("You "+adj[0]+", "+verb[0]+" "+noun[0]+".");
}
Code:
public static void main(String[] args)
{//start main
//variables
String adj[] = { "poxmarked", "cantankerous", "bilestained", "scruffy looking"};
String verb[] = {"goatstealing"};
String noun[] = {"nerf herder", "blackguard"};

Random choice =new Random();
int a = choice.nextInt(adj.length);
int b = choice.nextInt(verb.length);
int c = choice.nextInt(noun.length);
System.out.println(" a = "+a+" b = "+b+" c = "+c);
}
If you don't find any problem, try compiling again or use different computer .. or restart ;)
 
  • #14
mathwonk
Science Advisor
Homework Helper
10,764
937
your mother is so fat ........

filling this in could substitute for a test grade in linear algebra perhaps.
 
  • #15
I did this once back in VB6 but I loaded up all my "literary devices" into text files then randomized results from those. It helps give you an easy way of managing your words.

But yeah, it just looked like you tried using the objects before they were instantiated(created).
 

Related Threads for: Random Insult Generator - Really Need Help

Replies
2
Views
5K
  • Last Post
Replies
1
Views
3K
Replies
2
Views
3K
  • Last Post
Replies
2
Views
1K
  • Last Post
Replies
7
Views
1K
  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
1
Views
4K
Top