@Xenooon

Почему не выводит и показывает красным в Java?

Только начал изучать Java

package com.company;

public class Main {

    public static void main(String[] args) {

        class Square {
            Square(int i) {
                int x =i ;
}
        }

        class TestSquare {
            Square S1 = new Square(10);
            System.out.println(S1.x);
        }
    }
}
  • Вопрос задан
  • 544 просмотра
Пригласить эксперта
Ответы на вопрос 3
@yestodev
Автору можно дать один главный совет:

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

Классы в Java служат для какой-то цели, для какой цели создаются классы у вас - совершенно непонятно, кроме того что, как сказано выше, создание классов в main - чушь

// Class declaration
public class Test {

    // number exponentiation
    public int squareNumber(int i) {
        return i *= i;
    }

    // factorial
    public int factorial(int i) {
        return (i <= 1) ? 1 : (i * factorial(i - 1));
    }

    // main method
    public static void main(String[] args) {
        Test test = new Test(); // new instance
        System.out.println(test.squareNumber(5)); // 25
        System.out.println(test.factorial(5)); // 120
    }
}


Так же ознакомьтесь с тем что такое camelCase, как это принято в java и так далее. Это простой, но крайне важный вопрос для понимания.
Ответ написан
@Araya
Во-первых, сначала лучше прочитать самые азы, чем уже лезть с глупыми вопросами.
Во-вторых, отредактируйте свой код, добавив тег

ЗЫ
1. Вынеси переменную x из конструктора на уровень класса
2. Нет метода println8
3. И вообще, создавать классы в методе main - дичь полная
Ответ написан
Комментировать
@acwartz
Тут должна быть ваша реклама.
Потому что в предположительно функции
Square(int i)
вы выполняете присвоение x = i, вместо возведения i в квадрат, и записи результата в переменную x.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы