非法开始表达式public int getInput

时间:2017-03-11 21:06:13

标签: java int public

很抱歉新手问题,但我无法解决这个问题。在这段代码的开头,我得到了一个非法的表达式开始错误,我无法弄清楚原因。任何帮助表示赞赏。

public int getInput(int length){
    System.out.println("Enter an index of your choice:");
    Scanner input = new Scanner(System.in);
     choice = input.nextInt();
     if(choice > length){
         System.out.println("The number is out of the array bound");
     }
    return choice;
}

这是整个代码

import java.util.Random;
import java.util.Scanner;


public class shoutboxclasswithmethods {

 //Tell the system about varibles and activate
int a = 0, i = 0, choice;


/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here

public int getInput(int length){
    System.out.println("Enter an index of your choice:");
    Scanner input = new Scanner(System.in);
     choice = input.nextInt();


     if(choice > length){
         System.out.println("The number is out of the array bound");
     }
    return choice;
}

/*
 * display all the array content
 * @returns a string as per user slected index 
 */
public String ShoutOutCannedMessage() {
//declare and intialize the array with ten messages
    String[] cannedMessage = {"Hello", "this", "is","a test","for","my",
        "homework","Hello World","I love Java","Welcome","Thank you"};
    //get the lenght of the array
    i = cannedMessage.length;
    //display using the loop limiting the loop to only the number of array index+1
    for (; a < i; a++) {
        System.out.println("Index " + a + " : " +cannedMessage[a]);
    }
    //get the user input of an index using the getInput() predefined user method
           int y = getInput(i);
           //select and assign the message at the index to a string variable
    String selectedMessage = cannedMessage[y];
//return the string varibale object
    return selectedMessage;
}      
/* generate a random number within a limit
 * returns a string from five string arrays choosen depending on the random number as an index
 */

public String ShoutOutRandomMessage(){
    //declare and intialize the arrays
    String [] subject={"You","She","It","They","We","He","Who","Which","Is","I"};
    String [] verb={"read","breathe","run","draw","study","shake","eat","talk","write","show"};
    String [] adjective={"funny", "prickly","hard","peaceful","confident","loud","qualified","wealthy","wrong","academic"};
    String [] object={"Java","Jane","course","homework","paper","Fish","Key", "phone","prince","laptop"};
    String [] adverb={"daily","equally","easily","beautifully","calmly","closely","thankfully","regularly","always","quickly"};

    //generate a rando number with upper bound of 10
    Random rand=new Random();
    choice=rand.nextInt(10);
    //select and assign the message content to a single string
    String r= subject[choice] +" "+verb[choice]+" "+adjective[choice]+" "+object[choice]+" "+adverb[choice]+".";
   //return the string
    return r;

}

}

1 个答案:

答案 0 :(得分:0)

看起来main()未关闭

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here

}

一旦你附上它,我就没有看到非法开始表达错误。

以下链接将提供解决此类错误的一些提示:

http://www.java67.com/2016/08/how-to-fix-illegal-start-of-expression-error-in-java.html