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