Witam,
ogólnie mam pewien problem, ponieważ jestem na kolokwium i w miarę ogarniam języki programowania, ale na Javie jestem pierwszy raz i niezbyt znam zasady funkcjonowania tego języka.
Mam 2 zadania:
**1. **
Proszę napisać program w Javie, który:
- będzie przyjmował podczas uruchomienia parametry z linii poleceń
- pierwszy parametr będzie oznaczał rodzaj funkcji: 0 - funkcja liniowa, 1 - funkcja kwadratowa
- kolejne parametry to:
-- A i B dla funkcji liniowej (postaci y=Ax+B)
-- A, B i C - dla funkcji kwadratowej (postaci y=Ax^2+Bx+C)
Program ma obliczyć miejsce/miejsca zerowe funkcji (w zależności od parametrów) lub wypisać że nie
ma. W przypadku kiedy nie można sparsować argumentów (załóżmy że typ całkowity) - należy przyjąć 0
jako wartość domyślną.
W przypadku kiedy argumentów jest mniej niż wynikałoby z postaci funkcji - należy przyjąć 0 jako
wartość domyślną dla brakujących parametrów
Uwagi:- główna klasa powinna mieć nazwę postać <InicjałyStudenta>Obliczenia (np. dla mnie to byłoby
TWObliczenia)- zmienne deklarowane w programie powinny mieć nazwy postaci <inicjalystudenta>Zmienna np. dla
mnie byłoby to twParametrA, twParametrB, itd.
2.
Proszę napisać program w Javie, który:
- będzie przyjmował podczas uruchomienia argumenty z linii poleceń
- pierwszy parametr będzie oznaczał rodzaj operacji: 0 – znajdź minimum, 1 – znajdź maksimum, 2 –
średnia, 3 – zsumuj, 4 – zliczanie ile liczb ujemnych i dodatnich (załóżmy że wraz z zerem), 5 – zliczanie
ilości liczb parzystych, 6 – zliczanie ilości liczb nieparzystych, 7 – sprawdzanie czy ciąg rosnący, 8 - zlicz
ilość poszczególnych liczb (załóżmy na wejściu liczby od 0 do 10), 9 -znajdź najdłuższy i najkrótszy wyraz
z podanej listy wyrazów. Jeśli jest więcej wyrazów (najkrótszych lub najdłuższych) – to proszę o
wypisanie wszystkich na ekran.- kolejne parametry to ciąg liczb wejściowych (dowolnej, rozsądnej długości) postaci: A B C D E …..
- lub ciąg wyrazów (dla operacji 9)
Program ma zrealizować operację zadaną przez pierwszy parametr (znaleźć minimum, maksimum,
wyliczyć średnią, itd.) na ciągu liczb (kolejnych parametrów). Jeśli nie można sparsować parametru –
wartość domyślna to 0.
Jeśli ilość argumentów nie większa niż 1 -> program wypisuje “Brak liczb”.
Przykładowo:
Program 0 4 5 9 -10 11 20 25 -> powinien wypisać na wyjściu -10 (minimum)
Program 1 4 5 9 -10 11 20 25 -> powinien wypisać na wyjściu 25 (maksimum)
Program 8 1 2 3 1 5 1 -> powinien wypisac na wyjsciu: [0:0], [1: 3], [2:1], [3:1], [4:0], [5:1],….
Program 9 Ala Tomek Iza Arkadiusz -> powinien wypisać na wyjściu:
Najkrotszy/e: Ala, Iza
Najdluzszy/e: Arkadiusz
Póki co do zadania pierwszego napisałem tyle, ale wiem, że namieszałem tam totalnie. Byłby ktoś tak miły i pomógł mi z tym? Po prostu zaskoczyło mnie to kolokwium, a chciałbym dobrze zacząć przedmiot :)
public class KMobliczenia {
public static void main(String[]) argv ) {
System.out.printIn( "Argumenty przekazane przez linie polecen: " );
if (args[0]) //liniowa
{
//pobieranie_parametrów
int KMa,KMb,KMc;
System.out.print("Wprowadź wartość dla A: ");
KMa=Integer.parseInt(reader.readLine());
System.out.print("Wprowadź wartość dla B: ");
KMb=Integer.parseInt(reader.readLine());
System.outprintIn("x = " + (-KMb/KMa) );
}
if (args[1]) //kwadratowa
{
//pobieranie_parametrów
int KMa,KMb,KMc;
System.out.print("Wprowadź wartość dla A: ");
KMa=Integer.parseInt(reader.readLine());
System.out.print("Wprowadź wartość dla B: ");
KMb=Integer.parseInt(reader.readLine());
System.out.print("Wprowadź wartość dla C: ");
KMc=Integer.parseInt(reader.readLine());
double KMdelta = KMb*KMb - 4*KMa*KMc;
if (KMa == 0) {
System .out.printIn( "To nie jest rownanie kwadratowe");
}
else if (KMdelta > 0) {
System.out.printIn("x1 = " + (-b-Match.sqrt(KMdelta))/(2*KMa) );
System.out.printIn("x2 = " + (-b+Match.sqrt(KMdelta))/(2*KMa) );
}
if (KMdelta==0) {
System.out.printIn("Rownanie ma 1 pierwiastek, x1 = " + (-KMb/(2*KMa)) );
}
if (KMdelta < 0) {
System.out.printIn("Brak rozwiazan");
}
}
}
}
MAM CZAS DO JAKIEJŚ 17:30, WIĘC JAKBY KTOŚ DAŁ RADĘ <3