Solved the Java End-of-File (EOF) Challenge! Today I worked on a Java problem that reads input until End-of-File (EOF), and it turned out to be a great learning experience 😅 I faced multiple challenges: 1.Understanding how hasNext() works 2.fixing errors like Scanner showing red (missing imports) 3.Output formatting mistakes (order and spacing matter a lot!) 4.Debugging small syntax errors Key Concept I Learned: hasNext() does not read input — it only checks if more data is available. It is actually part of the Iterator concept in Java, where: hasNext() → checks if next element exists next() → retrieves the next element In Scanner, hasNext() works similarly by checking if more input is available before reading it. What I learned: Reading input until EOF using Scanner Understanding hasNext() and Iterator behavior Importance of correct output formatting Debugging step by step This problem taught me that even small mistakes can lead to wrong answers, but fixing them improves problem-solving skills 💻✨ #Java #HackerRank #CodingJourney #Debugging #Learning #Freshers #Programming
More Relevant Posts
-
🚀 Core Java Learning Journey Explored Ways to Initialize an Object in Java ☕ 🔹 Object initialization means assigning values to the instance variables of an object. 📌 Ways to Initialize an Object: ✅ 1. Using Reference Variable - Values are assigned after object creation class Student { int id; String name; } Student s = new Student(); s.id = 101; s.name = "Java"; --- ✅ 2. Using Method - Values are initialized using a method class Student { int id; String name; void setData(int i, String n) { id = i; name = n; } } --- ✅ 3. Using Constructor - Values are assigned at the time of object creation class Student { int id; String name; Student(int i, String n) { id = i; name = n; } } --- 🎯 Key Takeaway: Objects can be initialized in multiple ways, but using constructors is the most efficient and commonly used approach. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #OOP #Constructors #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
🚀 Core Java Learning Journey Explored the "this" keyword in Java ☕ 🔹 What is "this" keyword? "this" is a reference variable that refers to the current object of a class. It is used to access instance variables and methods of the current object. 📌 Uses of "this" keyword: ✅ 1. To refer instance variables - Used when local variables or parameters have the same name (avoids shadowing) class Student { int id; Student(int id) { this.id = id; } } --- ✅ 2. To call current class methods void display() { this.show(); } --- ✅ 3. To invoke current class constructor Student() { this(100, "Java"); } --- ✅ 4. To pass current object as argument method(this); --- 🎯 Key Takeaway: "this" keyword helps in clearly referring to the current object and avoids confusion between instance and local variables. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #ThisKeyword #OOP #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
At first, Method Overloading in Java felt confusing. Same method name… but different behavior? Here’s what it actually means 👇 Method Overloading = Same method name, different parameters Example: class MathUtil { int add(int a, int b) { return a + b; } double add(double a, double b) { return a + b; } int add(int a, int b, int c) { return a + b + c; } } Now: MathUtil m = new MathUtil(); m.add(2, 3); // calls int version m.add(2.5, 3.5); // calls double version m.add(1, 2, 3); // calls 3-parameter version What I understood: JVM(Java Virtual Machine) decides which method to call based on: 👉 Number of parameters 👉 Type of parameters This happens at compile time. Why this matters: It improves code readability and flexibility without changing method names. Simple takeaway: Same method name, different inputs → different behavior #Java #OOP #Programming #MethodOverloading #Freshers #LearningInPublic
To view or add a comment, sign in
-
-
🚀 Core Java Learning Journey Explored Variables in Java ☕ 🔹 What is a Variable? A variable is a container used to store data values in a program. Each variable has a name, type, and value. 📌 Types of Variables in Java: ✅ Local Variables - Declared inside methods, constructors, or blocks - Accessible only within that scope - Must be initialized before use ✅ Instance Variables - Declared inside a class but outside methods - Belong to objects - Each object has its own copy ✅ Static Variables - Declared using "static" keyword - Shared among all objects of the class - Memory allocated only once 💡 Example: "int age = 21;" "String name = "Java";" 🎯 Key Takeaway: Variables are the basic building blocks of any Java program used to store and manage data efficiently. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #Variables #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
🚀 Core Java Learning Journey Explored Instance, Static, and Local Variables in Java ☕ 🔹 Local Variables - Declared inside methods, constructors, or blocks - Accessible only within that specific scope - Must be initialized before use - Stored in stack memory 🔹 Instance Variables - Declared inside a class but outside methods - Belong to each object of the class - Each object has its own copy - Stored in heap memory 🔹 Static Variables - Declared using the "static" keyword - Shared among all objects of the class - Only one copy exists - Stored in method area 💡 Example: class Demo { int instanceVar = 10; // Instance variable static int staticVar = 20; // Static variable void display() { int localVar = 5; // Local variable System.out.println(localVar); } } 🎯 Key Takeaway: Understanding variable types helps in writing efficient and optimized Java programs by managing memory and scope effectively. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #Variables #OOP #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
Learning Priority Queue in Java Recently, I explored the concept of Priority Queue in Java, and it gave me a strong understanding of how efficient data handling works when priority matters over order. 🔹 Why Priority Queue? Unlike normal queues (FIFO), a Priority Queue processes elements based on their priority (min or max), which makes it extremely useful in scenarios like scheduling, real-time systems, and optimization problems. 🔹 Key Learnings: How Priority Queue is implemented using a heap (min-heap by default) Syntax and basic operations in Java Time complexity for insertion and deletion: O(log n) How ordering works internally without full sorting 🔹 Java Syntax Example: PriorityQueue<Integer> pq = new PriorityQueue<>(); pq.add(10); pq.add(5); pq.add(20); System.out.println(pq.peek()); // Smallest element pq.poll(); // Removes smallest element 🔹 Problems I Practiced: ✔️ Kth Smallest Element ✔️ Kth Largest Element These problems helped me understand how to use min-heap and max-heap effectively to optimize performance instead of sorting the entire array. 💡 Takeaway: Priority Queue is a powerful tool when you need efficient access to the smallest or largest element without sorting everything. Looking forward to applying this in more real-world problems and system design scenarios! 💻🔥 big thanks to Pratyush Narain #Java #DataStructures #PriorityQueue #DSA #Learning #CodingJourney
To view or add a comment, sign in
-
-
Method Overriding in Java is where behavior actually changes. Unlike overloading, this works with inheritance. Here’s a simple example 👇 class Animal { void sound() { System.out.println("Animal makes a sound"); } } class Dog extends Animal { @Override void sound() { System.out.println("Dog barks"); } } Now: Animal a = new Dog(); a.sound(); // Dog barks What’s happening here? The method in the child class overrides the parent class method. So even though the reference is Animal, the actual method executed depends on the object (Dog). This is runtime behavior. Key rules I learned: * Same method name * Same parameters * Must be in child class * Requires inheritance Why this matters: It allows us to change behavior without changing the structure. This is the base for Polymorphism. #Java #OOP #Programming #MethodOverriding #Freshers #LearningInPublic Do the same for this
To view or add a comment, sign in
-
-
🚀 Core Java Learning Journey Explored Constructor Overloading in Java ☕ 🔹 What is Constructor Overloading? Constructor overloading means having multiple constructors in the same class with different parameter lists (different number, type, or order of parameters). 📌 Why use Constructor Overloading? ✅ Allows creating objects in different ways ✅ Provides flexibility in initialization ✅ Improves code readability and reusability 📌 Example: class Student { int id; String name; Student() { // No-argument constructor id = 0; name = "Default"; } Student(int id) { // Constructor with one parameter this.id = id; } Student(int id, String name) { // Constructor with two parameters this.id = id; this.name = name; } } 💡 Each constructor is called based on the arguments passed during object creation. 🎯 Key Takeaway: Constructor overloading helps in initializing objects in multiple ways, making programs more flexible and efficient. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #ConstructorOverloading #OOP #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
🚀 Day 3 of My Java Learning Journey – Control Statements in Java Today, I learned how programs make decisions and repeat tasks using Control Statements in Java. These are essential for building logic in real-world applications. 🔹 Types of Control Statements: ➤ 1. if-else Statement Used for decision making 👉 Executes code based on conditions if (x > 10) { System.out.println("Greater than 10"); } else { System.out.println("Less than or equal to 10"); } ➤ 2. switch Statement Used when we have multiple choices 👉 Cleaner alternative to multiple if-else switch(day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; default: System.out.println("Invalid day"); } ➤ 3. Loops (Repetition Statements) Used to execute code multiple times ✔ for loop – when number of iterations is known ✔ while loop – when condition is checked before execution ✔ do-while loop – executes at least once for(int i = 1; i <= 5; i++) { System.out.println(i); } 💡 Key Learning: Control statements help in decision-making and repeating tasks, making programs smarter and more dynamic. 📌 Practiced writing programs using if-else, switch, and loops to strengthen my logic-building skills. #Java #Programming #CodingJourney #LearningJava #ControlStatements #100DaysOfCode #Developers 🚀
To view or add a comment, sign in
-
🚀 Core Java Learning Journey Explored Variable Shadowing in Java ☕ 🔹 What is Variable Shadowing? Variable shadowing occurs when a local variable or parameter has the same name as an instance variable, hiding (shadowing) the instance variable within its scope. 📌 Why does it happen? - When method parameters or local variables use the same name as class-level variables - The local variable gets higher priority inside the method 📌 Example: class Student { int id; Student(int id) { id = id; // Shadowing happens here } } 👉 In this case, the parameter "id" shadows the instance variable "id", so the instance variable is not initialized correctly. 🔹 How to Resolve Shadowing? ✅ Use "this" keyword to refer to the current object’s instance variable class Student { int id; Student(int id) { this.id = id; // Correct way } } 🎯 Key Takeaway: Variable shadowing can lead to logical errors, and using "this" keyword helps in clearly distinguishing instance variables from local variables. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #OOP #VariableShadowing #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development