Untitled

 avatar
unknown
plain_text
2 years ago
2.2 kB
4
Indexable
import 'package:flutter/material.dart';

class AdvancedCodeReviewTask extends StatefulWidget {
  @override
  _AdvancedCodeReviewTaskState createState() => _AdvancedCodeReviewTaskState();
}

class _AdvancedCodeReviewTaskState extends State<AdvancedCodeReviewTask> {
  List<int> numbers = [];

  @override
  void initState() {
    super.initState();
    generateNumbers();
  }

  void generateNumbers() {
    // Hibajelző 1: A kód most 20 véletlenszerű, egyedi számot generál 1 és 100 között (beleértve).
    // A generált számok egyediségét egy Set adatszerkezet segítségével ellenőrizzük.

    Set<int> uniqueNumbers = Set();
    while (uniqueNumbers.length < 20) {
      int randomNumber = 1 + (DateTime.now().millisecondsSinceEpoch % 100);
      uniqueNumbers.add(randomNumber);
    }
    numbers = uniqueNumbers.toList();
  }

  bool isPrime(int number) {
    // Hibajelző 2: A prímszám ellenőrzés megfelelően működik most, és helyesen határozza meg,
    // hogy a megadott szám prímszám-e.

    if (number <= 1) {
      return false;
    }

    for (int i = 2; i * i <= number; i++) {
      if (number % i == 0) {
        return false;
      }
    }
    return true;
  }

  List<int> getPrimeNumbers() {
    // Hibajelző 3: A getPrimeNumbers függvény most visszaad egy listát az egyedi prímszámokkal,
    // amelyek növekvő sorrendben vannak rendezve.

    List<int> primeNumbers = [];
    for (int number in numbers) {
      if (isPrime(number)) {
        primeNumbers.add(number);
      }
    }
    primeNumbers.sort();
    return primeNumbers;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Haladó Kód Felülvizsgálat Feladat'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'Generált Számok: ${numbers.join(", ")}',
              style: TextStyle(fontSize: 16),
            ),
            SizedBox(height: 16),
            Text(
              'Prím Számok: ${getPrimeNumbers().join(", ")}',
              style: TextStyle(fontSize: 16),
            ),
          ],
        ),
      ),
    );
  }
}
Editor is loading...