I am a beginner, and I believe I made a simple and efficient program to do it in. I can add more methods for more detail for future updates, but it's a workable bit.import java.util.Random;import java.util.Scanner;public class TownGenerator{private static Scanner k;public static void main (String [] args){    System.out.println(Ayyy, here's a town for you. Want a City, Town, or Village?);    System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);    k = new Scanner(System.in);    String TownType = k.nextLine();    if (TownType.equalsIgnoreCase(City))    {        System.out.println(You chose a City, here it is!);        String name1 = city();        String name2 = city2();        System.out.println(Then name of the city is: +name1+name2+!);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        String name3 = percent();        String name4 = demo();        String name5 = demo2();        System.out.println(The populas is comprised +name3+ +name4+ and the next leading majority being +name5);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        String name6 = status();        System.out.println(This Cities general behaviour is+name6);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        String name7 = geo();        String name8 = geo2();        System.out.println(The Cities geography is+name7+name8);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);    }    if (TownType.equalsIgnoreCase(Town))    {        System.out.println(You chose a Town, here it is!);        String name1 = town();        String name2 = town2();        System.out.println(Then name of the town is: +name1+name2+!);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        System.out.println(Here's the demographic!);        String name3 = percent();        String name4 = demo();        String name5 = demo2();        System.out.println(The populas is comprised +name3+ +name4+ and the next leading majority being +name5);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        String name6 = status();        System.out.println(This Town's general behaviour is+name6);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        String name7 = geo();        String name8 = geo2();        System.out.println(The Town's geography is+name7+name8);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);    }    if (TownType.equalsIgnoreCase(Village))    {        System.out.println(You chose a Village, here it is!);        String name1 = village();        String name2 = village2();        System.out.println(Then name of the village is: +name1+name2+!);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        String name3 = percent();        String name4 = demo();        String name5 = demo2();        System.out.println(The populas is comprised +name3+ +name4+ and the next leading demographic being +name5);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        String name6 = status();        System.out.println(This Village's general behaviour is+name6);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);        String name7 = geo();        String name8 = geo2();        System.out.println(The Village's geography is+name7+name8);        System.out.println(\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n);    }}public static String city(){        Random r = new Random();        int a = 1+r.nextInt(10);        switch (a)        {        case 1:            return Aren;        case 2:            return Cali;        case 3:            return Nona;        case 4:            return Lanest;        case 5:            return Jos;        case 6:            return Anion;        case 7:            return Yanner;        case 8:            return Lannen;        case 9:            return Yeager;        case 10:            return Valo;        default:            throw new IllegalStateException(Something went wrong!);        }}public static String city2(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return crest;    case 2:        return ton;    case 3:        return main;    case 4:        return  City;    case 5:        return bain;    case 6:        return quell;    case 7:        return ia;    case 8:        return kal;    case 9:        return fale;    case 10:        return en;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String town(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return River;    case 2:        return Forest;    case 3:        return Uain;    case 4:        return White;    case 5:        return Dark;    case 6:        return Snell;    case 7:        return Fire;    case 8:        return Cala;    case 9:        return Hali;    case 10:        return Galla;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String town2(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return  Town;    case 2:        return  Point;    case 3:        return  Pass;    case 4:        return rock;    case 5:        return len;    case 6:        return den;    case 7:        return gon;    case 8:        return hos;    case 9:        return fax;    case 10:        return lest;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String village(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return Fen;    case 2:        return River;    case 3:        return Cold;    case 4:        return Rock;    case 5:        return Agri;    case 6:        return Wolf;    case 7:        return Goro;    case 8:        return Hung;    case 9:        return Fale;    case 10:        return Lest;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String village2(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return ville;    case 2:        return  Village;    case 3:        return  Peak;    case 4:        return  Way;    case 5:        return mill;    case 6:        return  Wood;    case 7:        return gron;    case 8:        return  Cove;    case 9:        return  Forest;    case 10:        return nar;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String percent(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return of about 95%;    case 2:        return of about 90%;    case 3:        return of about 80%;    case 4:        return of about 70%;    case 5:        return of about 60%;    case 6:        return of about 50%;    case 7:        return of about 40%;    case 8:        return of about 30%;    case 9:        return of about 20%;    case 10:        return of about 10%;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String demo(){    Random r = new Random();    int a = 1+r.nextInt(23);    switch (a)    {    case 1:        return Calishite Humans;    case 2:        return Orks;    case 3:        return High Elves;    case 4:        return Dark Elves (Drow);    case 5:        return Stout Halflings;    case 6:        return Rock Gnomes;    case 7:        return Mountain Dwarfs;    case 8:        return Hill Dwarfs;    case 9:        return Wood Elves;    case 10:        return Lightfoot Halflings;    case 11:        return Dragonborn;    case 12:        return Forrest Gnomes;    case 13:        return Chondathan Humans;    case 14:        return Damaran Humans;    case 15:        return Illuskan Humans;    case 16:        return Mulan Humans;    case 17:        return Rashemi Humans;    case 18:        return Shou Humans;    case 19:        return Tethyrian Humans;    case 20:        return Turami Humans;    case 21:        return Half-Elves;    case 22:        return Half-Orcs;    case 23:        return Tieflings;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String demo2(){    Random r = new Random();    int a = 1+r.nextInt(23);    switch (a)    {    case 1:        return Calishite Humans;    case 2:        return Orks;    case 3:        return High Elves;    case 4:        return Dark Elves (Drow);    case 5:        return Stout Halflings;    case 6:        return Rock Gnomes;    case 7:        return Mountain Dwarfs;    case 8:        return Hill Dwarfs;    case 9:        return Wood Elves;    case 10:        return Lightfoot Halflings;    case 11:        return Dragonborn;    case 12:        return Forrest Gnomes;    case 13:        return Chondathan Humans;    case 14:        return Damaran Humans;    case 15:        return Illuskan Humans;    case 16:        return Mulan Humans;    case 17:        return Rashemi Humans;    case 18:        return Shou Humans;    case 19:        return Tethyrian Humans;    case 20:        return Turami Humans;    case 21:        return Half-Elves;    case 22:        return Half-Orcs;    case 23:        return Tieflings;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String status(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return  joyus and filled with spirit.;    case 2:        return  in a state of unrest.;    case 3:        return  hostile towards strangers.;    case 4:        return  open to newcommers and glad;    case 5:        return  varied. Depending on who you ask.;    case 6:        return  Strange and unsetting.;    case 7:        return  disgusting and obnoxious.;    case 8:        return  afraid of strange people, fear is in them.;    case 9:        return  happy and full of cultured indeviduals who love sharing their works of art.;    case 10:        return  proud, they love their home.;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String geo(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return  lined with hills,;    case 2:        return  lined with mountains,;    case 3:        return  surrounded by flatlands,;    case 4:        return  bordered by a desert,;    case 5:        return  on the coast, with a rocky shore,;    case 6:        return  on the coast, with a sandy shore,;    case 7:        return  filled with cracks in the ground, seemingly bottomless,;    case 8:        return  built into the mountains,;    case 9:        return  cold, bitter, and dry, filled with evergreen forrests,;    case 10:        return  alongside a jungle, with massive canopy trees,;    default:        throw new IllegalStateException(Something went wrong!);    }}public static String geo2(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return  and large trees, and has a nearby lake.;    case 2:        return  with little to no vegitation, imports are what this town lives on.;    case 3:        return  and is full of fertile land, the farmers here are prosperous.;    case 4:        return  under the protection of large mountains and rought terrain; lining the horizon.;    case 5:        return  and the visible ocean water laps on the shore gentaly.;    case 6:        return  the visible ocean water is rough, and would be hard to navigate.;    case 7:        return  and strange jagged rocks protrude randomly along the landscape.;    case 8:        return  and purple glows eminate from a very large mountain peak in the far distance.;    case 9:        return  and colourful skys cause the buildings to shine with a great elegance.;    case 10:        return  built partially underground.;    default:        throw new IllegalStateException(Something went wrong!);    }}}Sorry for the long block of code, the methods that return a string are, for the most part, the same.
Completed Town Generator
java;random
There are two major concepts your code needs.ArraysObjectsArrayspublic static String status(){    Random r = new Random();    int a = 1+r.nextInt(10);    switch (a)    {    case 1:        return  joyus and filled with spirit.;    case 2:        return  in a state of unrest.;    case 3:        return  hostile towards strangers.;    case 4:        return  open to newcommers and glad;    case 5:        return  varied. Depending on who you ask.;    case 6:        return  Strange and unsetting.;    case 7:        return  disgusting and obnoxious.;    case 8:        return  afraid of strange people, fear is in them.;    case 9:        return  happy and full of cultured indeviduals who love sharing their works of art.;    case 10:        return  proud, they love their home.;    default:        throw new IllegalStateException(Something went wrong!);    }}This code can be easily rewritten if the Strings are stored in an array:public static String status() {    String[] values = {  joyus and filled with spirit.,          in a state of unrest.,         hostile towards strangers.,         open to newcommers and glad,         varied. Depending on who you ask.,         Strange and unsetting.,         disgusting and obnoxious.,         afraid of strange people, fear is in them.,         happy and full of cultured indeviduals who love sharing their works of art.,         proud, they love their home.,    };    Random r = new Random();    return values[r.nextInt(values.length)];}Each and every one of your methods that return a random string can be rewritten like that.Although you should know that it is better to re-use the Random object. You should not create a new one each and every time as that reduces the randomness.You can make the Random like this once in your class:public static final Random random = new Random();Then all methods can access it, without creating their own.ObjectsYour towns and villages and cities are essentially the same. I don't want to give you too much information right now, but I would write a class to represent a Town/Village/City.I would strongly recommend reading this tutorial on the subject: http://docs.oracle.com/javase/tutorial/java/javaOO/You could make one class for a Town, one for Village and one for City, although essentially as it's the same thing in the core you could make just one class for it all.You seem to know how to make methods but you need to learn how to make non-static methods. When a method is non-static it belongs to an object instead of in a global space.Once you have improved your code a bit, I would recommend coming back here and post a new, follow-up, question