Я должен проверить Java - PullRequest
       12

Я должен проверить Java

0 голосов
/ 16 декабря 2011

В моем классе мне сказали, что я должен написать и протестировать свой код в основном методе, я написал его, но я не знаю, как это проверить. Как я должен проверить свои методы? Я должен принять пользовательский ввод, а затем получить первую букву, последнюю букву и т. Д.

import java.util.Scanner;

public class Word
{
    public static void main(String[] args)
    {

    }

    public String word;

    public void Word()
    {
        String word = "";
    }

    public void Word(String word1)
    {
        String word = word1;
    }

    public String getWord()
    {
        return word;
    }   

    public void setWord(String newWord)
    {
        String word = newWord;
    }

    public void getFirstLetter()
    {
        String firstLetter = word.substring(0, 1);
    }

    public void getLastLetter()
    {
        String lastLetter = word.substring(word.length() - 1, word.length());
    }

    public void removeFirstLetter()
    {
        String noFirstLetter = word.substring(1, word.length());
    }

    public void removeLastLetter()
    {
        String noLastLetter = word.substring(0, word.length() - 1);
    }
    public int findLetter (String parameter)
    {
        word.indexOf(parameter);
        return 1;
    }
}

Ответы [ 5 ]

2 голосов
/ 17 декабря 2011

Вы проверяете свои методы, вызывая их с определенным вводом и сравнивая результаты с ожидаемым результатом.

Пример:

Предположим, у вас есть такой метод:

public static int add(int a, int b) {
  return a + b;
}

Вы бы проверили это так:

int result = add( 3, 5);
if( result != 8 ) {
  //method is wrong
} 

Таким образом, в основном вы определяете «контракт» того, что вводит метод и каким должен быть результат (с точки зрения возвращаемого значения или другого измененного состояния). Затем вы проверяете, получили ли вы этот результат для своего ввода, и если это так, вы можете предположить, что метод работает правильно.

Чтобы быть совершенно уверенным (вы часто не можете быть полностью уверены), вы должны протестировать метод несколько раз с разными типами ввода (насколько это возможно, для проверки разных случаев, например, коротких слов, длинных слов). .

Вы также часто проверяете, как ваш метод обрабатывает неправильный ввод, например передавая пустые или пустые строки.

1 голос
/ 17 декабря 2011

Просто подсказка: вы очень близки, вам нужен экземпляр Word, чем вы можете назвать свои методы

public static void main(String[] args) {
      Word test = new Word();
      test.setWord("something");
      // here you might read javadoc of the String class on how to compare strings
}

РЕДАКТИРОВАТЬ: я упустил это:

public void setWord(String newWord)
{
     String word = newWord;
}

код, который вы написали, создает переменную word, ей назначается newWord, а затем она исчезает.Если вы (очевидно) хотите установить члена класса, вы должны использовать this, который ссылается на экземпляр (вы создали в main ()).

public void setWord(String newWord) {
   this.word = newWord;
}
1 голос
/ 17 декабря 2011

Вы должны взглянуть на такие инструменты, как junit .

Вы можете создать простой класс Test и протестировать свой класс и его поведение.

imports ...;

public class MyTest{

    @Test
    public void testMyClass(){
        Word w= new Word();
        w.setWord("test");
        Assert.assertEquals(w.getFirstLetter(), "t");
    }
}

С такими инструментами, как Eclipse, вы могли бы хорошо запустить такой тест.

0 голосов
/ 17 декабря 2011

Согласен с Джейсоном. Если вы хотите что-то проверить, просто System.out.println(). В ваших методах тип возврата не String, а void, так что вы можете изменить это и распечатать в основной программе run.

Если нет, просто укажите System.out.println() в ваших void методах. Не должно быть большой проблемы!

0 голосов
/ 17 декабря 2011

Поскольку я бы сказал, что это домашнее задание, я постараюсь не давать явного ответа.В методе main вы должны задать свое слово, затем вызвать каждый метод и распечатать вывод, чтобы убедиться, что он правильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...