Zmiana koloru sumy w zależności od wartości

1

Witam
Jestem totalnie zielony w javie, nic nie kumam, proszę o pomoc w programie który będzie zmieniał kolor sumy w zależności od wartości wyniku. Jak osadzić te kolory i dodać zmienność ? Co należy zmienić w kodzie. Poniżej kod programu:

<script type="text/javascript">
 
        var result=0;
 
         function suma()
             {
 
              var cal1 = parseFloat(document.forms["form1"]["cal1"].value);
              var cal2 = parseFloat(document.forms["form1"]["cal2"].value);
 
              var sum = ( 3 * cal2 * Math.pow(10, (7-cal1))); 
 
             document.forms["form1"]["sum"].value=sum
            result=sum;
 
if (result > 30) {
   Color sum   = (Color) Color.class.getField("blue").get(null);
}
else if (result < 15) {
    Kolor żółty
}
else if (result < 5) {
    Kolor czerwony
}
else if (result > 15 && result < 30) {
    Kolor zielony
}

	        	        }  				
        </script>
            <style>
 
            </style>
 
            
<body>
<h2 style="height: 0px; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">
        <form name="form1">
 
 
              Wartość a:
              <input name="cal1" size="5" type="text" /><br /> 
 
 
              Wartość b:
              <input name="cal2" size="5" type="text" /><br /> 
 
 
          <input name="add" onclick="suma();" type="button" value="Oblicz" /><br /> 
 
 
            Wartość c:
            <input name="sum" size="6" type="text" /><br /> 
 
            <input type="reset" value="Restart wartości" /><br />
 
        </form>
0

Być może odmienię twoje życie ale Java nie ma nic wspólnego z JavaScript.

0

Pierwsza sprawa - takie rzeczy najlepiej wrzucać na jsfiddle.net - wtedy łatwiej jest wprowadzać na bieżąco zmiany w kodzie.
Zrobiłem to za Ciebie - możesz zobaczyć pod adresem http://jsfiddle.net/m7t0pd9f/

Na razie w ogóle sumowanie nie działa - czy umiesz to poprawić?
A co do zmiany kolorów - nie napisałeś w żaden sposób, jak ma to się odbywać, co ma zmieniać kolor, jakie jest kryterium doboru koloru w zależności od uzyskanego wyniku.

0

W takim razie przepraszam, ale ja myślałem, że to to samo. Sumowanie działa tylko dodałem tak ten element if i chodzi o coś takiego, że:

Jeśli wynik jest większy od 30 to niebieski

Jeśli mniejszy od 15 a większy od 5 to żółty

Jeśli mniejszy od 5 to czerwony

Jeśli wynik jest z przedziału zamkniętego od 15 do 30 to zielony

Oczywiście chodzi o zmianę koloru czcionki tej wartości.

Usunąłem też element z if i bez niego działa. A jeśli chodzi o tą pomyłkę to jakie są różnice między JavaScript a Java ?

A jeszcze takie pytanie czy istnieje jakaś strona żeby móc na podstawie znanych x i y i wyniku tej funkcji znaleźć wzór funkcji by móc go umieścić w JavaScript ? Chodzi mi o przekształcenie tabeli z dwoma wartościami na kalkulator liczący z danej funkcji, umiem to zrobić tylko jak poznać wzór funkcji?

0

Java i JavaScript... Tak właściwie to poza podobną nazwą i trochę zbliżoną składnią, te dwa języki maja że sobą tyle wspólnego co świnia że świnką morską ;)

0

OK, masz to zrobione.

Pierwsza sprawa - nie wiem co i jak chciałeś obliczać, ale fragment var sum = ( 3 * cal2 * Math.pow(10, (7-cal1))); wydaje mi się raczej jakąś pomyłką. Pewnie skądś go skopiowałeś. Zwłaszcza, że przy podawaniu kolorów dawałeś liczby rzędu 5-30, a tutaj dla "zwykłych" liczb mamy w wyniku obliczeń wynik rzędu dziesiątek czy setek tysięcy. Zamiast tego dałem dodawanie A do B (jak zresztą sugeruje tytuł wątku - "zmiana koloru SUMY").

Druga kwestia - powinieneś dodać jakieś sprawdzanie, czy dwa pola do wprowadzania wartości nie są puste, a jeśli nie są, to czy wprowadzony tekst na pewno jest liczbą.

Trzecia sprawa - zamiast zapętlać if'y, w JavaScript (w Java też ;) ) jest instrukcja switch. Zamieniłem ify na switcha, teraz wygląda lepiej. Wprawdzie w switchu nie można dokonywać sprawdzeń warunku z zakresem wartości, trzeba podać konkretną wartość do sprawdzenia, ale można zastosować pewien trick, który to obejdzie.

Po czwarte - jeśli pole trzecie ma być tylko do pokazania wyniku, czy nie powinno być zablokowane. Obecnie można sobie w nim pisać, ale moim zdaniem to jest błędne.

Działającą wersję możesz obejrzeć pod adresem https://jsfiddle.net/p8tu4qr1/
Możesz tez sobie te warunki dopasować, bo nie chciało mi się rozkminiać, w jaki sposób wartości graniczne przedziałów mają być zaliczane - w razie czego pozmieniaj sobie wartości w switchu i będzie OK.

1

Obstawiam, że sum oznacza wartość temperatury powierzchni gwiazdy w tysiącach kelwinów, a kolor czcionki jest bardzo nieprecyzyjnym przybliżeniem koloru tej gwiazdy. (przykładowe tabelki z internetu)

Ale co może oznaczać wzór na temperaturę: 3*a*10^(7-b)? Nic mi to nie przypomina :/

0

Dziękuję bardzo za pomoc, Wzór ten nie jest żadnym wzorem z internetu tylko służy do wyliczania przybliżonej wartości dwutlenku węgla z pH i KH, więc wartości a jest przeważnie od 6 do 8 , a wartość b od 1 do 30. Wcześniej ten switch wydawał mi się zbyt skomplikowany, więc stosowałem inną funkcję/argument/metodę, nie wiem jak się to nazywa i to przed mi się java z javascriptem myliła, bo tamten element skopiowałem z jakiejś strony z java.

0

@domus12: odnośnie edytora - ja sam lubię i używam NetBeans, aczkolwiek nie twierdzę, że jest to najlepsze narzędzie. Ale mi pasuje, poza tym używam go także do HTML, CSS i C++, więc mam większość potrzebnych rzeczy w jednym miejscu. Ma także podpowiadanie i kolorowanie składni - czyli to, o co pytałeś:
screenshot-20180806105346.png

0

Co do kursów - nie wiem, ja nie korzystałem z takich rzeczy. Po prostu - jak trzeba to piszę, jak czegoś nie wiem, to szukam w necie.
Jeśli chcesz się czegoś nauczyć to wymyśl sobie jakieś zadanie i je realizuj. Rozwiązując napotkane trudności będziesz się uczyć :)

Rzuć okiem na ten wątek - https://4programmers.net/Forum/Off-Topic/Oceny_i_recenzje/312543-prosta_gra_w_js_code_review. Jego twórca uczy się programować w JS, a ja mu staram się pomagać :) Moim zdaniem taka opcja jest najlepsza. Ewentualnie, jeśli jesteś totalnie zielony (ale z tego, co pamiętam - pisałeś, że wcześniej miałeś jakąś styczność z pisaniem) to możesz przejrzeć trochę rzeczy w necie. Jak wpiszesz "kurs" JavaScript to wieeeele rzeczy Ci wyskoczy.

Czy przeczytałeś wątek przyklejony na 4P w sekcji JavaScript - Jak uczyć się JavaScript? - przeczytaj, zanim zadasz pytanie na temat materiałów do nauki. ?

0

Jeszcze jak skonfigurować ten visual studio code, żeby w końcu zaczął pokazywać kolory np. console.log ?

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