kod się nie ładuje

kod się nie ładuje
MD
  • Rejestracja:prawie 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:5
0

Cześć,
Czy ktoś może wytłumaczyć mi dlaczego kiedy próbuję opalić ten kod to on się nie potrafi załadować ?

Kopiuj
import java.util.Scanner;

  class Radious {
   public static void main(String[] args) {
   // Write your code here
   
   Scanner input = new Scanner(System.in);
   double radious = input.nextDouble();
   
  double perimeter = 2 * Math.PI * radious;
  
  System.out.print(perimeter);
  }
}
edytowany 1x, ostatnio: flowCRANE
flowCRANE
Wstawiaj kod w znaczniki kolorujące składnię – ```java przed kodem, a po kodzie samo ```
superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 20 godzin
  • Lokalizacja:Kraków
  • Postów:2000
0

double perimeter = 2 Math.PI radious;

Pewnie dlatego, że przydałoby się jeszcze używać operatorów mnożenia. Kod źródłowy to nie kartka papieru, a kompilator to nie człowiek - nie domyśli się, że jak napiszesz 2x to chodziło Ci o 2 * x.

Swoją drogą, nie ma czegoś takiego jak radious. Promień to radius.

Poza tym to powinna być klasa public


edytowany 1x, ostatnio: superdurszlak
MD
  • Rejestracja:prawie 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:5
0
Kopiuj
import java.util.Scanner;


 class Radious {
  public static void main(String[] args) {
  // Write your code here
  
  Scanner input = new Scanner(System.in);
  double radious = input.nextDouble();
  
 double perimeter = 2 x Math.PI x radious;
 
 System.out.print(perimeter);
 }
}

formatowanie zjadlo mi znak mnozenia. Moj kod wyglada tak( w miejscu x są *), a literowki w nazwach nie nie sa powodem dlaczego program w ogole sie nie odpala.

edytowany 3x, ostatnio: flowCRANE
superdurszlak
użyj znaczników do formatowania kodu - ``` i już nie będzie niczego zjadać. Możesz zedytować posta i zastąpić cytat odpowiednim formatowaniem
JW
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 6 lat
  • Lokalizacja:Wroclaw
  • Postów:12
0

Tak powinien wyglądać poprawny kod:

Kopiuj
import java.util.Scanner;

class Radius {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        double radius = input.nextDouble();

        double perimeter = 2 * Math.PI * radius;

        System.out.print(perimeter);
    }
}

Musisz pomiędzy "czynnikami" mnożenia zawsze dać znak mnożenia czyli * :)

Jeśli używasz IntelliJ to najlepiej uruchomić program klikając Prawy Przycisk Mysz na kodzie i wybrać Run Radius.main()


edytowany 2x, ostatnio: jwrabel
superdurszlak
nie jest poprawny, ta klasa powinna mieć słowo kluczowe public. Domyślnie będzie package-private.
JW
Co w tej sytuacji nie ma znaczenia, klasa nie musi być public żeby odpalić maina a na poziomie takiego zadania to tylko zrobi jeszcze większy mętlik w głowie:)
danek
@superdurszlak: i takie powinny być klasy w większości ;)
superdurszlak
ubzdurało mi się coś, że klasa z main też musi być public, żeby JVM znalazł, a co gorsza jdoodle mnie w tym błędnym przekonaniu utwierdził. Nie słuchajta się mnie ludziska...
kiyo
  • Rejestracja:około 8 lat
  • Ostatnio:około 21 godzin
  • Postów:155
0

@Magdalena Dram: Co dokładnie się dzieje? Dostajesz wyjątek InputMismatchException? Jeśli tak to musisz użyć przecinka zamiast kropki do wprowadzenia liczby zmiennoprzecinkowej (jeżeli do tej pory wpisywałaś np. 2.22) albo dodać:

Kopiuj
input.useLocale(Locale.US);
JW
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 6 lat
  • Lokalizacja:Wroclaw
  • Postów:12
0

@Magdalena Dram: Stworzyłem Ci snippet wyjaśniający krok po kroku - https://programuj.pl/snippet/12b46965-21de-4187-8b5d-fea8b7e9babe :)


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.