Я правильно вызвал? - PullRequest
       1

Я правильно вызвал?

0 голосов
/ 27 октября 2011

Мне дали кусок кода (класс QuestionTwo).Меня просят указать значения a, b и c после вызова метода mQ2 для вновь созданного объекта класса Q2.

Мой файл main.java

package openuniversity;

public class Main
{
  public static void main(String[] args)
  {
    QuestionTwo qt = new QuestionTwo();
    qt.mQ2();
  }
}

Мой файл класса QuestionTwo.java:

package openuniversity;

public class QuestionTwo
{
  int a;
  int b = 1;

  public void mQ2()
  {
    {
      int c;
      int a = 2;
      c = a;
    } 

    {
      int c;
      int a;
      c = 3;
      a = 4;
    }

    a++;

  }
}

Я прибыл:

a: 1
b: 1
c: 3

Примечание. Я также могу выбрать «неопределенное»как ответ?Так будет ли 1, 1 неопределенным, так как c не существует вне кодового блока?

Вопрос:

Изучите следующий код и затем выберитепараметры из раскрывающихся списков ниже, которые верны относительно значений a, b и c после того, как метод mQ2 вызывается один раз для вновь созданного объекта класса Q2.Обратите внимание, что ответы, которые вы выбираете для a, b и c, могут отличаться или не отличаться друг от друга.

public class Q2
{
    int a;
    int b = 1;

    public void mQ2()
    {
        {
            int c;
            int a = 2;
            c = a;
        }
        {
            int c;
            int a;
            c = 3;
            a = 4;

            System.out.println("c: " + c);  //correct place?  
        }
        a++;
    }
    System.out.println("a: " + a + "b: " + b);  // correct place?
}

Ответы [ 2 ]

1 голос
/ 27 октября 2011

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

  1. Вы можете проверить свое решение, распечатав переменные после вызова mQ2() (подсказка: вы могли бы использоватьSystem.println() для этого).
  2. Это либо вопрос с подвохом, либо он частично не определен (подсказка: подумайте о , который a, b и особенно c выУ меня спрашивают)
0 голосов
/ 27 октября 2011

Я бы посоветовал вам сначала распечатать все значения с помощью System.out.println () после вызова mQ2, а затем пошагово просмотреть код в уме, чтобы попытаться определить почему значения - это то, что они есть. Помните, что любая объявленная переменная видна только в области видимости ({...} s для простоты), но эти переменные могут иметь то же имя, что и другие переменные, поэтому они могут выглядеть одинаково, даже если это не так.

Я бы хотел особо отметить, что c не существует вне этого метода.

...