Need to know
-
Calculati suma a 2 numere
-
Calculati suma a 3 numere
-
Calculati media a 3 numere
-
Calculati produsul a 3 numere, considerand ca numarul 0 va fi exclus de la produs.
6 0 7 -> 42 2 6 5 -> 72 0 0 6 -> 6 0 0 0 -> 1
-
Se citeste
n
, afisati toate numerele de la1
lan
-
Se citeste
n
, afisati toate numerele pare de la1
lan
Hint: Operatorul % a % b = restul impartitii lui a la b
-
Se citeste
n
sik
, afisati toate numerele de la1
lan
care se divid cuk
-
Cititi un cuvant folosind
scanner.next("\\w+")
si afisati lungimea lui (cate litere are) -
Cititi un doua cuvinte. Afisati doar cuvantul cel mai scurt. Daca ambele sunt la fel de lungi, afisati
Lungime egala
Nice to know
-
Se citesc doua numere naturale. Aflati CMMDC (cel mai mare divizor comun) al lor. Folositi Algoritmul lui Euclid.
Pasi: cat timp A diferit de B: daca A > B: scade din A pe B daca A < B: scade din B pe A Dupa finalizare buclei, A=B, iar cmmdc se va gasi in oricare dintre ei.
-
Se citesc doua numere naturale. Aflati daca sunt prime intre ele. (Folositi-va de CMMDC de la problema anterioara)
-
Se citeste un numar natural. Aflati daca este prim (folositi-va de de exercitiul anterior).
Hint: Luati numerele de la 0 la n-1 si verificati CMMDC
-
Se citeste un numar natural
n
si o lista den
numere. Sa se gaseasca media lor. Utilizati vectori. -
Se citeste un numar natural
n
si o lista den
numere. Sa se afiseze toate elementele mai mari decat media. -
Se citeste un numar natural
n
si o lista den
numere. Sa se gaseasca cel mai mic numar mai mare decat media -
Se citeste un text dintr-un fisier. Sa se afiseze cate cuvinte contine(
String.split
) -
Se citeste un text dintr-un fisier. Sa se gaseasca cuvantul cel mai lung din text.
-
Se citeste un text dintr-un fisier. Sa se afiseze de cate ori apare cel mai lung cuvant din text.
Get a Life
-
Se da o lista cu salariile angajatilor dintr-o firma. Aflati salariul angajatului cu cel mai mic salariu mai mare decat media salariilor angajatilor care au salariul mai mic decat media generala a salariilor.
-
Se citeste un text dintr-un fisier. Determinati daca topicul textului este despre robotica, jocuri sau masini. Vom afla topicul textului numarand care dintre aceste 3 topicuri are mai multe cuvinte cheie care se regasesc in text. Daca nici un cuvant din liste nu se regaseste
Robotica: motor, servo, gripper, aluminiu, burghiu, programare, controller, surub, piulita Jocuri: minecraft, terraria, witcher, dnd, metin, call, duty, among, us, Masini: volvo, suzuki, subaru, volkswagen, dacia, logan, taxi
Recomandare: Construiti cate un vector pentru fiecare topic. Pentru fiecare cuvant din text, cautati prin fiecare vector al topicului daca cuvantul corespunde. Veti avea nevoie de 2 bucle, una in alta.
Recomandare 2: Luati listele de mai sus cu copy paste, stergeti virgulele, puneti-le in string, apelati .split(" ")
Recomandare 3: folositi .equalsIgnoreCase
in loc de .equals
pentru a putea procesa si cuvintele cu litere mari.
Sectiuni de cod uzuale
-
Citirea unui numar:
int n = scanner.nextInt();
float f = scanner.nextFloat();
double d = scanner.nextDouble();
-
Citirea unui cuvant:
String word = scanner.next("\\w+")
-
Obtinerea unui caracter dintr-un sir si obtinerea lungimii sirului
Nota: caracterele (singure) sunt reprezentate prin tipul char
si constantele lor prin ''
.
String str = "albastrul e rosu, nu vreau sa aud";
char c = str.charAt(1); // 'l'
char c = str.charAt(0); // 'a'
int len = str.length(); // 33
String s = str.substring(4, 4) // "s"
-
Citirea continutului unui fisier ca String si construirea unui Scanner din acest String:
import java.io.IOException;
import java.util.Scanner;
import java.nio.file.Files;
import java.nio.file.Path;
...
public static void main(String[] args) throws IOException {
String text = Files.readString(Path.of("file.txt"));
Scanner scanner = new Scanner(text);
int n = scanner.nextInt();
}
La inceputul sursei, vom importa clasele IOException, Scanner, Files si Path. Metoda readString
poate raporta o eroare daca fisierul nu exista, asa ca mentionam ca functia main
poate arunca erori: IOException
. Fisierul file.txt
trebuie sa exista in radacina proiectului.
-
Compararea a doua String-uri
String s1 = "abc";
String s2 = "def";
String s3 = "abc";
s1.equals(s2) // false
s1.equals(s3) // true
"abc".equals(s1) // true
s1.equals("abc") // false
-
Impartirea unui String cu un delimitator
String str = "de ce albastrul nu ce negru";
String[] fragmente1 = str.split(" ");
String[] fragmente2 = str.split("ce");
/*
* fragmente1.length -> 6
* fragmente2.length -> 3
* fragmente1 -> "de", "ce", "albastrul", "nu", "ce", "negru"
* fragmente2 -> "de ", " albastrul nu ", " negru"
*/
-
Inlocuirea unei secvente dintr-un string
String str = "ce faci. De ce";
String str1 = str.replace(Pattern.quote(".")); // "ce faci De ce"
String str2 = str.replace(Pattern.quote("ce")); // " faci. De "
-
Obtinea unui subsir (taierea)
Nota: indicele final nu e inclus
// 0 4 10 14
// v v v v
String str = "Pai astazi am fost la atelier.";
String str1 = str1.substring(0); // identic cu str
String str2 = str1.substring(14); // "fost la atelier."
String str3 = str1.substring(4, 10) // "astazi"