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

Zmiana koloru sumy w zależności od wartości
D1
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:9
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:

Kopiuj
<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>
edytowany 1x, ostatnio: domus12
Patryk27
Ten kod nie ma nic wspólnego z Javą.
Piotrek Nero
Jak to nie? Nie widzisz "JAVAscript"? xD
S9
  • Rejestracja:prawie 13 lat
  • Ostatnio:7 miesięcy
  • Postów:415
0

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

cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Poznań
  • Postów:8769
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.


D1
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:9
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?

edytowany 2x, ostatnio: domus12
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Poznań
  • Postów:8769
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ą ;)


edytowany 2x, ostatnio: cerrato
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Poznań
  • Postów:8769
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.


KO
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:35
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 :/

edytowany 1x, ostatnio: kodokleta
D1
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:9
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.

edytowany 4x, ostatnio: domus12
cerrato
Czy teraz wszystko jest jasne, masz to co chciałeś, czy jeszcze potrzebujesz z czymś pomocy?
D1
Fajnie by było dodać te rzeczy, o których pisałeś wcześniej czyli to sprawdzenie pól z wyskakującym boxem w przypadku braku uzupełnienia pól i uniemożliwianiu wpisywania w wynik, tylko ja kompletnie nie wiem jak to zrobić. Czy istnieje jakiś poradnik javascript taki uproszczony ? Nie wiem czy chciałbym uczyć się całości, html kumam, w vbasicu kiedyś robiłem proste programki ale ten javascript to jakiś kosmos, dla mnie tam są po prostu rzeczy z kosmosu jakieś nazwy, wbudowane okienka i rzeczy "znikąd".
cerrato
Pytanie jest inne -czy Ty chcesz się nauczyć programować, czy po prostu masz jakąś jedną rzecz do napisania (coś, czego z jakiegoś powodu potrzebujesz - np. do pracy) i na tym Twoja znajomość z JavaScript (oraz jakimkolwiek innym programowaniem) na dłuższy czas się zakończy?
cerrato
Pytam, bo się zastanawiam, któ©a droga będzie wobec Ciebie lepsza - tłumaczenie, pokazywanie i uczenie, czy po prostu szybko napisanie tego, co jest Ci potrzebne :P
D1
Nie wiem czy się zakończy, wydaje mi się że przydałby mi się on w przyszłości, co polecacie do nauki? Czy jest to trudny język ? Czy jego znajomość przyda mi się w strona www ? Jaki jest najlepszy edytor tekstu do javascriptu i nie notepad++, bo on mi błędów nie pokazuje
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Poznań
  • Postów:8769
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


D1
A jakiś kurs ? Patrzę teraz na kursjs.pl i czy to będzie ok ? i jakiś taki wyświetlacz w czasie rzeczywistym to tylko ten jsfiddle czy jest jakiś taki do pobrania, w tamtym kursie polecają virtual studio code, ale tam nie ma chyba podglądu, ewentualnie jak to poprawić ?
IK
@domus12: VISUAL studio code - całkiem sprawny edytor, dużą zaletą jest to, że ma dobre wsparcie do frontu bez męczenia się z konfiguracją. Jeśli chodzi o podgląd na żywo, to są programy, które będą czekały na zmianę w kodzie i odświeżą ci przeglądarkę pokazując efekt, np. https://www.npmjs.com/package/live-server
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Poznań
  • Postów:8769
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. ?


edytowany 1x, ostatnio: cerrato
D1
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:9
0

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

edytowany 1x, ostatnio: domus12
cerrato
To niech się ktoś inny wypowie, ja tego nie używam.
DE
VSC, nie trzeba konfigurować, żeby kolorował składnie. Tylko zapisujesz/otwierasz plik z odpowiednim rozszerzeniem. Więc jak chcesz mieć kolorowaną składnie, musisz zapisać plik a typ pliku ustawić na javascript.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)