The nextLine() doesn't work right.. (Java)
<p>I have made an object named "Skill" and the main program.
<strong>Skill</strong>:</p>

<pre><code>    import java.util.*;
class Skill
{
    static Scanner reader = new Scanner(System.in);
    public int iStar;
    public int iColor; //0-White, 1-Red, 2-Orange, 3-Grenn, 4-DeepSkyBlue, 5-Blue.
    public String sName;
    public String sText;
    public String sLink;
    public String sRank;
    Skill()
    {
        System.out.println ( "What is the skill name?" );
        this.sName = reader.nextLine();
        System.out.println ( "Insert the icon's link please" );
        this.sLink = reader.nextLine();
        System.out.println ( "Which rank is recommended to this skill?" );
        this.sRank = reader.nextLine();
        System.out.println ( "Explanation about the skill" );
        this.sText = reader.nextLine();
        System.out.println ( "Text color?" + "\n" + "1-Red, 2-Orange, 3-Green, 4-DeepSkyBlue, 5-Blue." );
        this.iColor = reader.nextInt();
        System.out.println ( "How many stars would you like? (0-2)" );
        this.iStar = reader.nextInt();
    }
    void FixMe (  )
    {
        int iNum = 0;
        System.out.println ( "Which one of the data would you like to change?" + "\n" + "0-non of them, 1-Star, 2-Color, 3-Name, 4-Text, 5-Link, 6-Rank." );
        do
        {
            switch ( reader.nextInt() )
            {
                case 0: iNum = 0;
                                break;
                case 1: this.iStar = reader.nextInt();
                               iNum = 0;
                                break;
                case 2: this.iColor = reader.nextInt();
                               iNum = 0;
                                break;
                case 3: this.sName = reader.nextLine();
                               iNum = 0;
                                break;
                case 4: this.sText = reader.nextLine();
                               iNum = 0;
                                break;
                case 5: this.sLink = reader.nextLine();
                                iNum = 0;
                                break;
                case 6: this.sRank = reader.nextLine();
                               iNum = 0;
                                break;
                default: System.out.println ( "Error, Please insert again the number of the data (!) ." );
                                    iNum = 1;
                                    break;
            }
        }
        while ( iNum == 1 );
    }
    String ImageIt (  )
    {
        String sPro = "[IMG]" + this.sLink + "[/IMG]";
        return sPro;
    }
    String BoldIt (  )
    {
        String sPro = "[B]Rank " + this.sRank + "[/B]";
        return sPro;
    }
    String UnderscoreIt (  )
    {
        String sPro = "[U]" + this.sName + "[/U]";
        return sPro;
    }
    String ColorIt ( String sNoob )
    {
        String sPro = "[COLOR=\"";
        int iNum = 0;
        do
        {
            switch ( this.iColor )
            {
                case 1: sPro+= "Red";
                                iNum = 0;
                                break;
                case 2: sPro+= "Orange";
                                iNum = 0;
                                break;
                case 3: sPro+= "Green";
                                iNum = 0;
                                break;
                case 4: sPro+= "DeepSkyBlue";
                                iNum = 0;
                                break;
                case 5: sPro+= "Blue";
                                iNum = 0;
                                break;
                default: System.out.println ( "Error, Please insert again the number of the color (!) ." );
                                    this.iColor = reader.nextInt();
                                    iNum = 1;
                                    break;
            }
        }
        while ( iNum == 1 );
        sPro+= "\"]" + sNoob + "[/COLOR]";
        return sPro;
    }
    String WhiteColorIt ( int FirstOrSecond )
    {
        String sPro = "[COLOR=\"White\"]";
        if ( FirstOrSecond == 1 )
        {
            int iNum = 0;
            do
            {
                if ( this.iStar &gt;= 3 || this.iStar &lt; 0 )
                {
                    System.out.println ( "Error, Please insert again the number of the stars (!) ." );
                    this.iStar = reader.nextInt();
                    iNum = 1;
                }
                else
                {
                    iNum = 0;
                }
            }
            while ( iNum == 1 );
            iNum = 2 - this.iStar;
            for ( ; iNum != 0; iNum-- )
                sPro+= "*";
            sPro+= "[/COLOR]";
        }
        else
            sPro+= "**[/COLOR]";
        return sPro;
    }
    /*הפעולה הראשית*/
    String ExtractMe()
    {
        String sPro = "";
        String sTemp = "";
        switch ( this.iStar )
        {
            case 0: sPro+= this.WhiteColorIt ( 2 ) + " ";
                           sTemp = this.ImageIt() + " " + this.UnderscoreIt();
                           sTemp = this.ColorIt ( sTemp );
                           sPro+= sTemp;
                           break;
            case 1: sPro+= this.WhiteColorIt ( 1 );
                           sTemp = "* " + this.ImageIt() + " " + this.UnderscoreIt();
                           sTemp = this.ColorIt ( sTemp );
                           sPro+= sTemp;
                           break;
            case 2: sPro+= "** " + this.ImageIt() + " " + this.UnderscoreIt();
                           sPro = this.ColorIt ( sPro );
                           break;
            default:
                                break;
        }
        sPro+= " - " + this.sText + "\n";
        sPro+= this.WhiteColorIt ( 2 ) + " " + this.BoldIt() + ".";
        return sPro;
    }
}
</code></pre>

<p>Main:</p>

<pre><code>    import java.util.*;
public class Main
{
    static Scanner reader = new Scanner(System.in);
    public static void main(String[] args)
    {
        String sPro = "";
        Skill Winner01 = new Skill();
       System.out.println ( "האם אתה רוצה לתקן את אחד הנתונים?" + "\n" + "1-Yes, 2-No");
       if ( reader.nextInt() == 1 )
                Winner01.FixMe();
       sPro+= Winner01.ExtractMe() + "\n";
       Skill Winner02 = new Skill();
       System.out.println ( "האם אתה רוצה לתקן את אחד הנתונים?" + "\n" + "1-Yes, 2-No");
       if ( reader.nextInt() == 1 )
                Winner02.FixMe();
       sPro+= Winner02.ExtractMe() + "\n";
        System.out.println ( sPro );
    }
}
</code></pre>

<p>I am using BlueJ, and while i tried to test the program i made 2 Skills. so I used twice the "Skill()", but in the second time the reader.nextLine() didn't work.</p>
