将程序分为两个不同的类

时间:2016-03-10 18:09:23

标签: java

所以我不得不编写一个代码,用一个词然后反转它让它工作但是对于我的作业我必须把它变成两个类,一个测试者类和一个主类我该怎么做?

public static void main(String args[])
{
  String original = "";
  String reverse = "";
  Scanner in = new Scanner(System.in);

  System.out.println("Enter a string to reverse");
  original = in.nextLine();

  int length = original.length();

  for ( int i = length - 1 ; i >= 0 ; i-- )
  {
     reverse = reverse + original.charAt(i);
  }
  System.out.println("Reverse of entered string is: "+reverse);
}

4 个答案:

答案 0 :(得分:1)

您创建了两个类。你甚至可以在它们中加入一个主方法。

public class Homework {
    public static void main(String[] args) {
        // Code here to prompt user for string and to print reversed string
    }
    static String reverse(String input) {
        // Code here to do the actual reverse logic, returning reversed string
    }
}
public class HomeworkTest {
    public static void main(String[] args) {
        test("Hello", "olleH");
        test("This is a test", "tset a si sihT");
    }
    private static void test(String input, String expected) {
        String rev = Homework.reverse(input);
        System.out.println(input + ": " + rev);
        if (! expected.equals(rev))
            System.out.println("  ** NOT AS EXPECTED: " + expected);
    }
}

您现在可以运行Homework进行手动测试,或运行HomeworkTest类进行自动测试。

答案 1 :(得分:0)

您可以在Main类中获取原始String并将其传递给第二个类来执行for循环。然后第二个类返回反转的String,以便Main-Class可以打印出来。

第二个类可以包含一个反转String的静态方法(执行for循环),或者你可以创建第二个类的对象,并且这个Object反转原始的String。

答案 2 :(得分:0)

有几种方法可以做到这一点。最简单的是,你可以在Test类中创建一个静态函数,如下所示:

class Test
{
    public static void runTest(String args[])
    {
        //same as your above program
    }
}

但这可能不是你老师想要的。相反,您可以创建一个反转一组字符串的Test类。

class Test
{
    public static void runTests()
    {
        //iterate through a list of hard-coded strings to test
    }
}

然后,您将在Reverser类中创建单独的函数,Test.runTests()函数将测试Reverser类。

但是,有一些标准化的方法可以做到这一点。一种常见的方式称为JUnit。如果您使用的是Eclipse,请尝试this page获取说明。

答案 3 :(得分:0)

最简单的方法是

  1. 将代码划分为函数public String reverse(String input)
  2. 创建新的Tester类
  3. 在测试人员课程public void test()
  4. 中添加测试方法
  5. 准备断言以测试您的功能assert reverse("ola").equals("alo") : "First assertion failed"
  6. 在主要功能中运行new Tester().test();
  7. 要使断言正常工作,您必须使用-ea选项
  8. 运行jvm