Why Does My Java Random Insult Generator Not Compile?

  • Context: Java 
  • Thread starter Thread starter GobiasMoleman
  • Start date Start date
  • Tags Tags
    Generator Random
Click For Summary

Discussion Overview

The discussion revolves around troubleshooting a Java program intended to generate random insults. Participants explore issues related to compilation errors, syntax, and the structure of the code, as well as the potential applications of such a program.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Exploratory

Main Points Raised

  • One participant notes that the variable lengths for arrays are being accessed before they are defined, which could lead to errors.
  • Another suggests a syntax error related to spacing in the assignment of the Random object.
  • Some participants comment on the classification of "goatstealing" as an adjective rather than a verb, with differing opinions on its usage.
  • Several participants provide alternative code snippets and suggestions for structuring the program to avoid errors.
  • There are humorous remarks about the quality of the insults generated and their relevance in a politically correct context.
  • A participant shares a personal anecdote about using a similar approach in a different programming language, emphasizing the importance of managing words effectively.

Areas of Agreement / Disagreement

Participants express various opinions on the code's structure and potential errors, but there is no consensus on a single solution or approach. Disagreements exist regarding the classification of certain words and the overall effectiveness of the generated insults.

Contextual Notes

Some participants highlight the importance of defining variables before use, while others suggest that certain syntax issues may not be critical. The discussion reflects a mix of beginner-level programming challenges and humorous commentary on the nature of the project.

GobiasMoleman
Messages
1
Reaction score
0
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
 
Technology news on Phys.org
GobiasMoleman said:
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'.
 
Side note: 'goatstealing' is an adjective, not a verb.
 
I wonder what this program can possibly be used for...
 
Defennder said:
I wonder what this program can possibly be used for...

You would wonder that, you poxmarked, goatstealing blackguard!
 
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)
 
DaleSpam said:
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).
 
:smile: Those are some weak insults.
 
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
_Mayday_ said:
:smile: 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
Damn right!
 
  • #12
Gokul43201 said:
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
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
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).
 

Similar threads

Replies
9
Views
2K
  • · Replies 2 ·
Replies
2
Views
7K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 9 ·
Replies
9
Views
9K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 3 ·
Replies
3
Views
5K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 37 ·
2
Replies
37
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K