Ползване на метод (когато не го принтирам през Main не се показва)
Днес зададох въпрос на лекцията в слайдо, но поради липсата на код Наков не успя да ми отговори. Затова реших да пусна една тема тук, съжалявам, че за последната седмица ми е втора.
Проблема ми е че мога да ползвам (изпринтирам информацията) новите методи, които генерирам само в Main метода. Ако си направя нов метод и пробвам през него да изпринтирам, програмате не гърми но и не показва нищо. Ето пример:
import java.util.Scanner; public class Problem01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); header(); // Принтира Header } public static void header(){ System.out.println("Header"); } public static void printHeader(){ header(); // Не принтира нищо } }
В прецентацията на слайд №9 е показано, че това може да стане. Аз ползвам java, но пробвах и в C# и също не ми се получи.
Благодаря за отговора! При това положение мога ли да разбирам, че за да се появи един метод изписан на конзолата, той тпябва да мине през Main метода задължително.
От слада в презентациятата изглежда по различно.
static void PrintHeader()
{
PrintHeaderTop();
PrintHeaderBottom();
}
Тези два метода дали минават през Main?
Винаги се изпълнява само Main метода и затова ако нямаш main ти дава грешка.Ако искаш някой метод да работи трябва да го викнеш от main пробвай с дебъгера да следиш какво се случва
На този слайд погледни Main() метода - той извиква PrintHeader(). Просто методите са парчета код, които могат да бъдат викани от друг код. Методите могат да викат и други методи, както в примера ти.
Благодаря за отговорите!
Появи се още една неяснота свързана с разликата в синтаксиса между C# и Java.
Това под C# работи
А еквивалента му под Java не
Ако може да ми кажете къде е разликата в синтаксиса която чупи кода в Java.
В Java не можеш да ползваш new string(char, int), както в C#. Ползвай цикъл:
П.С. можеш да си форматираш кода и да го направиш по-четим с Ctrl + alt + L в IntelliJ Idea
Благодаря стана. За подредбата на кода, не знаех клавишната комбинация, но вече ще я ползвам.