ArrayList的类和对象

时间:2014-01-06 02:45:44

标签: java arrays class object arraylist

我正在尝试创建一个程序,它将文件名作为参数,打开该文件,读入该文件中的所有文本(大约1段),然后给用户一些操作段落的选项。

我遇到扫描仪问题,要求用户输入命令。例如,如果用户按下1,我希望它将用户带到public void palindrome(),但它不会编译。

我尚未在代码中写入公共无效回文,但不应该有任何编译错误。

import java.util.ArrayList;
import java.util.Scanner;
import java.util.*;
import java.io.File;


public class Test {

        public static void main (String [] args) {

                Scanner scanner = new Scanner(new File(args[0]));
                ArrayList<String> strings = new ArrayList<String>();
                while( scanner.hasNext() ) {
                        strings.add( scanner.next() );
                }

                ArrayList<String> a = new ArrayList<String>(strings);



                while (true) {
                        System.out.println ("\nWhat would you like to do? Here are your options: \nPress 1 to Print all palindromes \nPress 2 to Replace any letter  \nPress 3 to remove all occurences of a word \nPress 4 to exit\n");
                        Scanner s = new Scanner(System.in);
                        String command = s.next();

                        if (command.equals("1")) {
                                a.palindrome();
                        } else if (command.equals("2")){
                                a.letter();
                        } else if (command.equals("3")){
                                a.word();
                        }  else if (command.equals("4")){
                                System.exit(0);
                        }
                }
        }

        public void palindrome () {

        }


        public void letter () {

        }

        public void word () {

        }

}

2 个答案:

答案 0 :(得分:1)

您已将a定义为Arraylist。并且正在呼叫a.palindrome()

Arraylist没有方法palindrome(),我相信您只想致电palindrome()课程的Test

要做到这一点:

  • 在主课程中创建Test的实例,然后在该实例上调用palindrome()(首选选项)

  • 将方法设为静态,然后调用Test.palindrome()

在任何一种情况下,您都可以考虑让它参与Arraylist

答案 1 :(得分:0)

您需要做的是创建Test

的实例
Test test = new Test();

然后致电

test.palindrome();

编译器失败是因为您调用a.palindrome()aArrayList<String>()的实例,并且它没有方法ArrayList类没有名为palindrome()

的方法