[[oktatas:programozás:feladatok:speciális| < Speciális]]
====== Java nyelvhez kapcsolódó programozási feladatok ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2011, 2014, 2019, 2022
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Szekvenciális tevékenység =====
==== Feladat 001 ====
Keresse meg a következő forráskódban a szintaktikai hibákat.
public clas Program
{
public statik void main( String [] args)
{
System.ouprintln("Alma");
}
}
==== Feladat 002 ====
Keresse meg a következő forráskódban a szintaktikai hibákat.
public lass Program
{
public static void Main( string [] args)
{
System.ouprintln("Alma");
}
}
==== Feladat 003 ====
Keresse meg a következő forráskódban a szintaktikai hibákat.
import java.util.*;
class Program
{
public static void main( string [] args)
{
Scanner = new Scanner();
System.out.println("Szám: ");
bevitel.nextInt();
}
}
==== Feladat 004 ====
Keresse meg a következő forráskódban a szintaktikai hibákat.
import java.io.*;
class Program
{
public static void main( string [] args) throws IOexception
{
Scanner olvaso = new Scanner(System.in);
System.out.println("A következő program összead számokat nulla végjelig");
System.out.println("Használat: A program elindulás után kéri a számokat")
System.out.print("Sazam: ")
int a = olvaso.nextInt();
System.outprintln("Ezt írtad%d", a);
}
}
==== Feladat 005 ====
Keresse meg a következő forráskódban a szintaktikai hibákat.
class
{
public static void main()
{
int tomb[7] = {37, 98, 23, 32, 88, 52, 88};
boolean ok = true;
long sum = 0;
int i = 0;
while(ok)
{
sum = sum + tomb[i];
i++;
if(!(i<7))
ok = false;
}
System.out.printf("Összeg: %f\n", sum);
}
}
==== Feladat 006 ====
class Program2
{
public static main(String args[]) throw java.io.IOException
{
java.io.FileWriter fwriter = new java.io.FileWriter("adat.txt", true);
java.io.BufferedWriter writer = new java.io.BufferedWriter(fwriter)
for(i=0; i<5; i++)
{
writer.write("1234");
writer.write("8235");
}
writer.close();
fwriter.close();
System.println("Writed");
}
}
==== Feladat 007 ====
Az alábbi programban két szintaktikai hiba van. Keresse meg őket.
class Program 01
{
public static void main(String[] args)
{
int a = 3;
int b = 8;
int c = a * b
System.out.println("Eredmeny" + c);
}
}
Mentés: 007.txt
===== OOP =====
==== Feladat 101 ====
A következő osztály egyetlen hibát tartalmaz. Keresse meg.
class Product {
String name;
String itemnumber;
int quantity;
double price;
public class Product(String name, String itemnumber, int quantity, double price) {
this.name = name;
this.itemnumber = itemnumber;
this.quantity = quantity;
this.price = price;
}
}
==== Feladat 102 ====
A következő osztály egyetlen hibát tartalmaz. Keresse meg.
class Product {
String name;
String itemnumber;
int quantity;
double price;
public Double Product(String name, String itemnumber, int quantity, double price) {
this.name = name;
this.itemnumber = itemnumber;
this.quantity = quantity;
this.price = price;
}
}
===== Tömbökhöz kapcsolódó feladatok =====
==== Feladat 0801 ====
Keresse meg a hibát a következő feladatban:
class Program01
{
public static void main(String[] args)
{
Double a = {3.5, 3.7, 4.8, 5.6};
double b = {9.8, 2.7, 3.4};
System.out.println(a.length);
System.out.println(b.length);
}
}
Program01.java:5: error: illegal initializer for Double
Double a = {3.5, 3.7, 4.8, 5.6};
^
Program01.java:6: error: illegal initializer for double
double b = {9.8, 2.7, 3.4};
^
Program01.java:8: error: cannot find symbol
System.out.println(a.length);
^
symbol: variable length
location: variable a of type Double
Program01.java:9: error: double cannot be dereferenced
System.out.println(b.length);
^
4 errors
==== Feladat 0802 ====
import java.util.ArrayList;
class Program01
{
public static void main(String[] args)
{
ArrayList lista;
System.out.println("Hi");
}
}
Program01.java:6: error: unexpected type
ArrayList lista;
^
required: reference
found: int
1 error
>Exit code: 1
===== GUI feladat =====
==== Feladat 1001 ====
Rajzoltasson két dobókockát. Figyelje MouseListener figyelővel
a dobókockákon történt kattintásokat. Ha egy dobókockán
egy kattintást észlelünk, az adott dobókocka generáljon
új számot.
Mentés: ketdobo
==== Feladat 1002 ====
Rajzoljon egy villogó kört.
Mentés: villogkor
==== Feladat 1003 ====
Rajzoltassa ki egy dobókockadobás eredményét. Minden újabb
egérkattintás újabb számot eredményez.
Mentés: dobokockar
==== Feladat 1004 ====
Rajzoltasson úgy egy villogó kört, hogy a program továbbra
is reagáljon az egérműveletekre.
Mentés: villogszal
==== Feladat 1005 ====
A következő feladatban 3 szintaktikai hiba található. Keresse meg azokat és tegye fordíthatóvá.
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
class Program01 extends JFrame implements ActionListener {
JButton klikkGomb;
Program01() {
klikkGomb = new JButton("Klikkelj ide");
klikkGomb.addActionListenner(this);
add(klikkGomb);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
}
public static void actionPerfomed(ActionEvent event) {
setTitle("Működik");
}
public static void main(String[] args) {
new Program01().setVisible(true);
}
}
===== Hiba alapú feladatok =====
==== Feladat 2001 ====
Keresse meg a hibákat az alábbi programban:
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextFiled;
import javax.swing.BoxLayout;
class Program01 extends JFrame
{
Button gomb1 = new JButton("Klikk");
JTextFiled mezo1 = new JTextFiled(40);
Program01()
{
setLayout(new BoxLayout(getContentPane(),
BoxLayout.Y_AXIS));
add(mezo1);
add(gomb1);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static main(String[ args)
{
new Program01();
}
}
==== Feladat 2002 ====
Keresse meg a hibákat az alábbi programban:
import javax.swing.JFrame;
import javax.swing.JButton;
class Program01 extend JFrame
{
Button gomb1 new JButton("Klikk");
Program01()
{
add(gomb1);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args)
{
new Program01();
}
}
==== Feladat 2003 ====
Keresse meg a hibákat az alábbi programban:
javax.swing.JFrame;
javax.swing.JButton;
class Program01 extends JFrame
{
JButton gomb1 = new JButton("Klikk");
Program01
{
add(gomb1);
pack;
setDefaultCloseOperation(1);
setVisible(true);
}
public static void main(String[] args)
{
new Program01();
}
}
==== Feladat 2004 ====
Keresse meg a hibákat az alábbi programban:
import javax.swing.JFrame;
import javax.swing.JButton;
Program1 extends JFrame
{
JButton gomb1 = new JButton("Klikk");
Program01()
{
add(gomb1);
pack();
setDefaultCloseOperation(1);
setVisible(true);
}
pulic static void main()
{
new Program01();
}
}
==== Feladat 2005 ====
Keresse meg a hibákat az alábbi programban:
import javax.swing.JFrame;
import javax.swing.JButton;
class Program04 extends JFrame
{
JButton gomb1 new = JButton("Klikk");
Program04()
{
add(gomb1);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args)
{
new Program04();
}
}
==== Feladat 2006 ====
Keresse meg a hibákat az alábbi programban:
import java.swing.JFrame;
class Program01
{
Program01()
{
pack();
setVisible(true);
}
public static void main(String[] args)
{
new Program01();
}
}
==== Feladat 2007 ====
Keresse meg a hibákat az alábbi programban:
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.FlowLayout;
class Program04 extends JFrame
{
JButton gomb1 new = JButton("Klikk");
JButton gomb2 new = JButton("Kilép");
Program04()
{
setLayout(new FlowLayout());
add(gomb1);
add(gomb2);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args)
{
new Program04();
}
}
==== Feladat 2008 ====
Keresse meg a hibákat az alábbi programban:
import javax.swing.JFrame;
import javax.swing.JButton;
class Program02 extends JFrame
{
JButton gomb1 = new JButton("Klikk");
Program02()
{
add(gomb1)
pack()
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args)
{
new Program02();
==== Feladat 2009 ====
Keresse meg a hibákat az alábbi programban:
import javax.swing.JFrame
import javax.swing.JButton
class Program01 extends JFrame
JButton gomb1 = new JFrame("Klikk");
Program01()
{
add(gomb1);
pak();
setDefautlCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static voi main(String[] args)
{
new Program02();
}
}
==== Feladat 2010 ====
A következő program egy kör területét számítaná ki, de nem fordul le. Keresse meg a hibákat.
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.FlowLayout;
class Program01 extends JFrame implements Actionlistener {
JLabel radiusLabel;
JTextField radiusField;
JButton calcButton;
Program01 {
initComponents();
}
private void initComponents() {
radiusLabel = new JLabel("Sugár");
radiusField = new JTextField(15);
calcButton = new JButton("Számít");
calcButton.addActionListener(this);
add(radiusLabel);
add(radiusField);
add(calcButton);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
centerWindow(this);
pack();
setVisible(true);
}
publi void actionPerforme(ActionEvent event) {
String radiusStr = radiusField.getText();
double radius = Double.parseDouble(radiusStr);
Double area = Math.pow(radius, 2) * Math.PI;
radiusField.setText(area.toString());
radiusLabel.setText("Terület");
pack();
}
private static void centerWindow(java.awt.Windows frame) {
java.awt.Dimension dim = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) ((dim.getWidth() - frame.getWidth()) /2);
int y = (int) ((dim.getHeight() - frame.getHeight() / 2);
frame.setLocation(x, y);
}
public static void main(String[] args) {
new Program01();
}
}
==== Feladat 2011 ====
A következő programnak az "a" változó tartalmát kell kiírnia
a következő paraméterek alapján:
* 2 tizedesjegy szélesen
* 24 szélesen
* balra igazítva
* az érték után " kg" mértékegységgel
A program azonban hibás. Javítsa a programot:
class Program01 {
public static void main(String[] args) {
double a = 214.5;
System.out.printf("%.2f\n %-24s", a, " ");
}
}
==== Feladat 2012 ====
A következő programnak az "a" változó tartalmát kell kiírnia
a következő paraméterek alapján:
* 2 tizedesjegy szélesen
* 24 szélesen
* balra igazítva
* az érték után " kg" mértékegységgel
A program azonban hibás. Javítsa a programot:
class Program01 {
public static void main(String[] args) {
double a = 214.5;
System.out.printf("%214.5fkg\n", a);
}
}
==== Feladat 2013 ====
A következő programnak az "a" változó tartalmát kell kiírnia
a következő paraméterek alapján:
* 2 tizedesjegy szélesen
* 24 szélesen
* balra igazítva
* az érték után " kg" mértékegységgel, előtte szóközzel
* függőlegesen egy oszlopban kezdődjenek
A program azonban hibás. Javítsa a programot:
class Program01 {
public static void main(String[] args) {
double a = 214.5;
double b = 306.7;
System.out.printf("%f\n ", a);
System.out.printf("%f\n ", b);
}
}
==== Feladat 2014 ====
A következő programnak 27-et és 53-at kell kiírnia, de
nem ezt teszi. Javítsa a programot.
class Program01 {
public static void main(String[] args) {
System.out.printf("%d\n", 027);
System.out.printf("%d\n", 053);
}
}
==== Feladat 2015 ====
Adott egy hiba a következő programban. Keresse meg:
import java.io.*;
import java.util.*;
class Program01 {
public static void readFile() {
try {
tryReadFile();
}catch(FileNotFoundException e) {
System.err.println("A fájl nem található!");
}
}
public static void tryReadFile() { throws FileNotFoundException {
Scanner olvaso = new Scanner(new FileReader("adat.txt"));
while(olvaso.hasNextLine()) {
System.out.println(olvaso.nextLine());
}
}
public static void main(String[] argv) {
readFile();
}
}
==== Feladat 2016 ====
Adott egy hiba a következő programban. Keresse meg:
import java.io.*;
import java.util.*;
class Program01 {
public static void readFile() {
try {
tryReadFile();
}catch(FileNotFoundException e) {
System.err.println("A fájl nem található!");
}
}
public static void tryReadFile() throw FileNotFoundException {
Scanner olvaso = new Scanner(new FileReader("adat.txt"));
while(olvaso.hasNextLine()) {
System.out.println(olvaso.nextLine());
}
}
public static void main(String[] argv) {
readFile();
}
}
==== Feladat 2017 ====
A következő program tartalmaz egy hibát. Töltse le, vagy vágólapról
másolja saját gépére a forráskódot, keresse meg hibát és javítsa.
import java.util.Scanner;
public class Program01 {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("A program kiszámítja egy kör kerületét");
System.out.println("Szerző: Nagy János, 2019");
System.out.println("A kör területe: 2*r*PI");
System.out.print("Sugár: ");
double r = sc.nextDouble();
String eredmeny = "Terület: " + String.value0f(2*r*Math.PI);
System.out.println(eredmeny);
}
}
Mentés: pallagi
==== Feladat 2018 ====
A következő program tartalmaz egy hibát. Töltse le, vagy vágólapról
másolja saját gépére a forráskódot, keresse meg hibát és javítsa.
import java.util.Scanner;
public class Scanner {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("A program kiszámítja egy kör kerületét");
System.out.println("Szerző: Nagy János, 2019");
System.out.println("A kör területe: 2*r*PI");
System.out.print("Sugár: ");
double r = sc.nextDouble();
String eredmeny = "Terület: " + String.valueOf(2*r*Math.PI);
System.out.println(eredmeny);
}
}
Mentés: csati
==== Feladat 2019 ====
A következő program tartalmaz egy hibát. Töltse le, vagy vágólapról
másolja saját gépére a forráskódot, keresse meg hibát és javítsa.
import java.util.Scanner;
class Kor {
static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Kör kerületének számítása");
System.out.println("Szerző: Nagy János, 2019");
System.out.print("Sugár: ");
double r = sc.nextDouble();
double k = 2 * r * Math.PI;
System.out.printf("%f\n", k);
}
}