SEPARATORY "." ","

0

Witam Wszystkich po raz pierwszy. Nie dawno zacząłem naukę programowania.
I powiem , ż mnie trochę to zaczęło interesować. Choć wcześniej nie miałem ni w ząb nic wspólnego
z tymi sprawami.
Jestem na pierwszym roku, a mój wiek nie ma chyba nic wspólnego z tym co ja tutaj robię. Ale potrzebuję Waszej pomocy lub tropu aby odnaleźć rozwiązanie mojego problemu.
A jest nim >separator<
Zadanie jakie otrzymałem to:
wpisanie jakiejkolwiek wartości dziesiętnej i nie zależnie czy wpiszę ją po przecinku czy też po kropce będzie wyliczać odpowiednie wartości, sumy niezależnie od tego czy to jest przecinek, czy też kropka jako separator.
Jeżeli jesteście w stanie mi coś podpowiedzieć lub też pomóc będę wdzięczny, jeśli nie też zrozumię.
Oto mój kodzik (surowy, sorki za błędy ale jestem na poczętku drogi):

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class funkcjeKwadratowe {

    /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        System.out.println("podaj wartości dla danych:");
        System.out.println("------------------------- ");
        String polecenie = "";
        System.out.println("podaj a: ");
        String aJakoLiczba = wczytajTekstZKlawiatury();
        double a = Integer.parseInt(aJakoLiczba);
        System.out.println("------------------------- ");
        System.out.println("podaj b: ");
        String bJakoLiczba = wczytajTekstZKlawiatury();
        double b = Integer.parseInt(bJakoLiczba);
        System.out.println("------------------------- ");
        System.out.println("podaj c: ");
        String cJakoLiczba = wczytajTekstZKlawiatury();
        double c = Integer.parseInt(cJakoLiczba);
        System.out.println("------------------------- ");

        double d;
        // a=4;
        // b=5;
        // c=5;
        d = 0;
        String liczbaPodstawionaa = aJakoLiczba;
        String liczbaPodstawionab = bJakoLiczba;
        String liczbaPodstawionac = cJakoLiczba;

        // boolean czyKoniecLiczenia = false;
        // while (czyKoniecLiczenia == false) {
        wyswietlDostepneFunkcje();
        polecenie = wczytajTekstZKlawiatury();

        if (polecenie.equals("1")) {
            System.out.println("f(x) = ax + b");
            System.out.println(" ");
            for (int i = -5; i <= 5; i++) {
                d = a * i + b;
                a = Double.parseDouble(aJakoLiczba);
                b = Double.parseDouble(bJakoLiczba);
                double sumaLiczbPodstawionych = a + b;
                double aJakoLiczba1 = Double.parseDouble(aJakoLiczba);
                double bJakoLiczba1 = Double.parseDouble(bJakoLiczba);
                sumaLiczbPodstawionych = (a + b);
                System.out.println("liczba podstawiona za a = " + a);
                System.out.println("liczba podstawiona za b = " + b);
                System.out.println("wartosc dla x = " + i);
                System.out.println("wzór > f(x) = ax+b");
                System.out.println("i podstawiamy: ");
                System.out.println("f(x) = " + aJakoLiczba + "*" + i + " + " + bJakoLiczba);
                System.out.println("wynik = " + d);
                System.out.println("Max. suma liczb podstawionych = "+ sumaLiczbPodstawionych);
                System.out.println("Min. liczba podstawiona = "+ Math.min(a, b));
                System.out.println("Srednia liczba sum podstawionych = "+ sumaLiczbPodstawionych / 2);
                System.out.println("---------------------------------------------------------------");
            }
        } else if (polecenie.equals("2")) {
            System.out.println("f(x) = ax2 + bx + c");
            System.out.println(" ");
            for (int i = -5; i <= 5; i++) {
                d = a * (i * i) + b * i + c;
                a = Double.parseDouble(aJakoLiczba);
                b = Double.parseDouble(bJakoLiczba);
                c = Double.parseDouble(cJakoLiczba);
                double sumaLiczbPodstawionych = a + b + c;
                double aJakoLiczba1 = Double.parseDouble(aJakoLiczba);
                double bJakoLiczba1 = Double.parseDouble(bJakoLiczba);
                double cJakoLiczba1 = Double.parseDouble(cJakoLiczba);
                sumaLiczbPodstawionych = (a + b + c);
                System.out.println("liczba podstawiona za a = " + a);
                System.out.println("liczba podstawiona za b = " + b);
                System.out.println("liczba podstawiona za c = " + c);
                System.out.println("wartosc dla x = " + i);
                System.out.println("wzór > f(x) = ax2+bx+c");
                System.out.println("i podstawiamy: ");
                System.out.println("f(x) = " + aJakoLiczba + "*" + i + "*" + i + "+" + bJakoLiczba + "*" + i + "+" + cJakoLiczba);
                System.out.println("wynik = " + d);
                System.out.println("Max. suma liczb podstawionych = "+ sumaLiczbPodstawionych);
                System.out.println("Min. liczba podstawiona = "+ Math.min(a, c));
                System.out.println("Srednia liczba sum podstawionych = "+ sumaLiczbPodstawionych / 3);
                System.out.println("---------------------------------------------------------------");
            }
        } else if (polecenie.equals("3")) {
            System.out.println("f(x) = a * sin(bx) + c");
            System.out.println(" ");
            for (int i = -5; i <= 5; i++) {
                d = (int) (a * Math.sin(b * i) + c);
                a = Double.parseDouble(aJakoLiczba);
                b = Double.parseDouble(bJakoLiczba);
                c = Double.parseDouble(cJakoLiczba);
                double sumaLiczbPodstawionych = a + b + c;
                double aJakoLiczba1 = Double.parseDouble(aJakoLiczba);
                double bJakoLiczba1 = Double.parseDouble(bJakoLiczba);
                double cJakoLiczba1 = Double.parseDouble(cJakoLiczba);
                sumaLiczbPodstawionych = (a + b + c);
                System.out.println("liczba podstawiona za a = " + a);
                System.out.println("liczba podstawiona za b = " + b);
                System.out.println("liczba podstawiona za c = " + c);
                System.out.println("wartosc dla x = " + i);
                System.out.println("wzór > f(x) = a*sin(bx)+c");
                System.out.println("i podstawiamy: ");
                System.out.println("f(x) = " + aJakoLiczba1 + "*" + "sin" + "("+ bJakoLiczba1 + "*" + i + ")" + " + " + cJakoLiczba1);
                System.out.println("wynik = " + d);
                System.out.println("Max. suma liczb podstawionych = "+ sumaLiczbPodstawionych);
                System.out.println("Min. liczba podstawiona = "+ Math.min(a, c));
                System.out.println("Srednia liczba sum podstawionych = "+ sumaLiczbPodstawionych / 3);
                System.out.println("---------------------------------------------------------------");
            }
        }
    }

    private static String wczytajTekstZKlawiatury() throws IOException {
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader reader = new BufferedReader(isr);
        return reader.readLine();
    }

    private static void wyswietlDostepneFunkcje() {
        System.out.println(" ");
        System.out.println(" ");
        System.out.println("-1-   f(x) = ax + b");
        System.out.println("-2-   f(x) = ax2 + bx + c");
        System.out.println("-3-   f(x) = a * sin(bx) + c");
        System.out.println(" ");
        System.out.println("------------------------- ");
        System.out.print("Wybierz funkcje: ");

    }

}
0

nie czytałem twojego programu (i nie wiem czy dobrze zrozumiałem problem) ale zamianę przecinka na kropkę można zrobić tak :

        String a = "3,14";
        String b = a.replace(",", ".");        
        System.out.println(Double.valueOf(b));

Oczywiście musisz wczytywać liczby jako string (jak to widać)

0

Dzięki za zainteresowanie. Chodzi o to, aby podczas wpisania np. wartości 2,11 jako a, 5.14 jako b i np 4 jako c, obliczył funkcje. Czyli jak zaobserwować można nie reagował na seperatora, tak jak napisałem czy to będzie przecinek, czy też kropka. To pierwsza sprawa, a druga to minimum trzech liczb. I jeszcze raz....
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class funkcjeKwadratowe {
public static void main(String[] args) throws IOException {
System.out.println("podaj wartości dla danych:");
System.out.println("------------------------- ");
String polecenie = "";
System.out.println("podaj a: ");
String aJakoLiczba = wczytajTekstZKlawiatury();
double a = Integer.parseInt(aJakoLiczba);
System.out.println("------------------------- ");
System.out.println("podaj b: ");
String bJakoLiczba = wczytajTekstZKlawiatury();
double b = Integer.parseInt(bJakoLiczba);
System.out.println("------------------------- ");
System.out.println("podaj c: ");
String cJakoLiczba = wczytajTekstZKlawiatury();
double c = Integer.parseInt(cJakoLiczba);
System.out.println("------------------------- ");

    double d;
    d = 0;
    String liczbaPodstawionaa = aJakoLiczba;
    String liczbaPodstawionab = bJakoLiczba;
    String liczbaPodstawionac = cJakoLiczba;

    wyswietlDostepneFunkcje();
    polecenie = wczytajTekstZKlawiatury();

    if (polecenie.equals("1")) {
        System.out.println("f(x) = ax + b");
        System.out.println(" ");
        for (int i = -5; i <= 5; i++) {
            d = a * i + b;
            a = Double.parseDouble(aJakoLiczba);
            b = Double.parseDouble(bJakoLiczba);
            double sumaLiczbPodstawionych = a + b;
            double aJakoLiczba1 = Double.parseDouble(aJakoLiczba);
            double bJakoLiczba1 = Double.parseDouble(bJakoLiczba);
            sumaLiczbPodstawionych = (a + b);
            System.out.println("liczba podstawiona za a = " + a);
            System.out.println("liczba podstawiona za b = " + b);
            System.out.println("wartosc dla x = " + i);
            System.out.println("wzór > f(x) = ax+b");
            System.out.println("i podstawiamy: ");
            System.out.println("f(x) = " + aJakoLiczba + "*" + i + " + " + bJakoLiczba);
            System.out.println("wynik = " + d);
            System.out.println("Max. suma liczb podstawionych = "+ sumaLiczbPodstawionych);
            System.out.println("Min. liczba podstawiona = "+ Math.min(a, b));
            System.out.println("Srednia liczba sum podstawionych = "+ sumaLiczbPodstawionych / 2);
            System.out.println("---------------------------------------------------------------");
        }
    } else if (polecenie.equals("2")) {
        System.out.println("f(x) = ax2 + bx + c");
        System.out.println(" ");
        for (int i = -5; i <= 5; i++) {
            d = a * (i * i) + b * i + c;
            a = Double.parseDouble(aJakoLiczba);
            b = Double.parseDouble(bJakoLiczba);
            c = Double.parseDouble(cJakoLiczba);
            double sumaLiczbPodstawionych = a + b + c;
            double aJakoLiczba1 = Double.parseDouble(aJakoLiczba);
            double bJakoLiczba1 = Double.parseDouble(bJakoLiczba);
            double cJakoLiczba1 = Double.parseDouble(cJakoLiczba);
            sumaLiczbPodstawionych = (a + b + c);
            System.out.println("liczba podstawiona za a = " + a);
            System.out.println("liczba podstawiona za b = " + b);
            System.out.println("liczba podstawiona za c = " + c);
            System.out.println("wartosc dla x = " + i);
            System.out.println("wzór > f(x) = ax2+bx+c");
            System.out.println("i podstawiamy: ");
            System.out.println("f(x) = " + aJakoLiczba + "*" + i + "*" + i + "+" + bJakoLiczba + "*" + i + "+" + cJakoLiczba);
            System.out.println("wynik = " + d);
            System.out.println("Max. suma liczb podstawionych = "+ sumaLiczbPodstawionych);
            System.out.println("Min. liczba podstawiona = "+ Math.min(a, b));//TO TUTAJ
            System.out.println("Srednia liczba sum podstawionych = "+ sumaLiczbPodstawionych / 3);
            System.out.println("---------------------------------------------------------------");
        }
    } else if (polecenie.equals("3")) {
        System.out.println("f(x) = a * sin(bx) + c");
        System.out.println(" ");
        for (int i = -5; i <= 5; i++) {
            d = (int) (a * Math.sin(b * i) + c);
            a = Double.parseDouble(aJakoLiczba);
            b = Double.parseDouble(bJakoLiczba);
            c = Double.parseDouble(cJakoLiczba);
            double sumaLiczbPodstawionych = a + b + c;
            double aJakoLiczba1 = Double.parseDouble(aJakoLiczba);
            double bJakoLiczba1 = Double.parseDouble(bJakoLiczba);
            double cJakoLiczba1 = Double.parseDouble(cJakoLiczba);
            sumaLiczbPodstawionych = (a + b + c);
            System.out.println("liczba podstawiona za a = " + a);
            System.out.println("liczba podstawiona za b = " + b);
            System.out.println("liczba podstawiona za c = " + c);
            System.out.println("wartosc dla x = " + i);
            System.out.println("wzór > f(x) = a*sin(bx)+c");
            System.out.println("i podstawiamy: ");
            System.out.println("f(x) = " + aJakoLiczba1 + "*" + "sin" + "("+ bJakoLiczba1 + "*" + i + ")" + " + " + cJakoLiczba1);
            System.out.println("wynik = " + d);
            System.out.println("Max. suma liczb podstawionych = "+ sumaLiczbPodstawionych);
            System.out.println("Min. liczba podstawiona = "+ Math.min(a, c));
            System.out.println("Srednia liczba sum podstawionych = "+ sumaLiczbPodstawionych / 3);
            System.out.println("---------------------------------------------------------------");
        }
    }
}

private static String wczytajTekstZKlawiatury() throws IOException {
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader reader = new BufferedReader(isr);
    return reader.readLine();
}

private static void wyswietlDostepneFunkcje() {
    System.out.println(" ");
    System.out.println(" ");
    System.out.println("-1-   f(x) = ax + b");
    System.out.println("-2-   f(x) = ax2 + bx + c");
    System.out.println("-3-   f(x) = a * sin(bx) + c");
    System.out.println(" ");
    System.out.println("------------------------- ");
    System.out.print("Wybierz funkcje: ");

}

}

I mam jeszcze jedno pytanie do bardziej zorientowanych.
Jaką aplikację muszę zainstalować i jak, aby móc np. grafikę zrobić w NetBeansie i przeniesc ją do eclipsy, wszak to to samo środowisko, mówiono mi, że aby to zrobic potrzebny jest Visual editor z javy. Czy to false czy true? Proszę o podpowiedź lub pomoc.

0

I mam jeszcze jedno pytanie do bardziej zorientowanych.
Jaką aplikację muszę zainstalować i jak, aby móc np. grafikę zrobić w NetBeansie i przeniesc ją do eclipsy, wszak to to samo środowisko, mówiono mi, że aby to zrobic potrzebny jest Visual editor z javy. Czy to false czy true? Proszę o podpowiedź lub pomoc.

Polska język trudna język.

Pomijając to, to Matisse (czyli edytor GUI z NetBeansa) korzysta z API NetBeansa, więc go nie przeniesiesz ot tak do Eclipse. To tak jakbyś chciał przenieść program w C++ z Windowsa na Linuksa - niby ten sam język, ale inne API.

Dobra wiadomość to taka, że Google zrobiło wtyczkę o podobnej funkcjonalności do Eclipse: http://code.google.com/intl/pl-PL/javadevtools/wbpro/ Nie korzystałem z tego, więc się o tym nie wypowiem.

Edit:
Aaaaa, chodzi ci o przeniesienie samego wygenerowanego kodu, no nie? W takim razie wystarczy po prostu przekopiować plik. Utracisz możliwość edytowania wizualnego tego kodu, chyba że go zreversujesz za pomocą tej wtyczki od Google.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0