Java の次のコードに問題があります。
2 つのコンストラクターが必要で、1 つはデフォルトで黄色に設定する必要があり、もう 1 つはユーザーが選択できるようにする必要があります。私は何を間違っていますか?
第二に、メソッドberaknaomkretsの10進数へのフォーマットが機能していないようです。何が間違っていますか。
import java.text.*;
import java.io.*;
import java.util.*;
public class Cirkel
{
//instansvariabler
private int radie;
private String farg;
//konstruktorn
public Cirkel()
{
radie = 0;
farg = "";
}
public Cirkel(String farg)
{
radie = 0;
farg = "gul";
}
//metod där man får ange färg
public void andraFarg()throws IOException
{
BufferedReader myIn = new BufferedReader
(new InputStreamReader (System.in));
System.out.print("Ange vilken färg cirkeln ska ha: ");
farg = myIn.readLine();
}
//metod som returnerar den aktuella färgen på cirkeln
public String hamtaFarg()
{
return farg;
}
//metod där man får ange radien på cirkeln
public void andraRadie()throws IOException
{
BufferedReader stdin = new BufferedReader
(new InputStreamReader (System.in));
System.out.print("Välj vilken radie cirkeln ska ha: ");
radie = Integer.parseInt(stdin.readLine());
}
//metod som returnerar radien
public int hamtaRadie()
{
return radie;
}
public double beraknaOmkrets()
{
NumberFormat formatter = new DecimalFormat("#0.0");
double omkrets = 0;
omkrets = radie*2*3.14;
formatter.format(omkrets);
return omkrets;
}
public double beraknaArea()
{
NumberFormat formatter = new DecimalFormat("#0.0");
double area = 0;
area = radie*radie*3.14;
formatter.format(area);
return area;
}
}
class TestCirkel
{
public static void main(String args[])throws IOException
{
BufferedReader myIn = new BufferedReader
(new InputStreamReader (System.in));
Cirkel c1 = new Cirkel(); //skapa objektet c1
Cirkel c2 = new Cirkel("gul");
c1.andraFarg();
c1.andraRadie();
System.out.println(" Färgen på cirkel 1 är "+ c1.hamtaFarg());
System.out.println(" Omkretsen på cirkel 1 är "+ c1.beraknaOmkrets());
System.out.println("Arean på cirkel 1 är "+c1.beraknaArea());
c2.andraRadie();
System.out.println(" Färgen på cirkel 2 är "+c2.hamtaFarg());
System.out.println(" Omkretsen på cirkel 2 är "+c2.beraknaOmkrets());
System.out.println("Arean på cirkel 2 är "+c2.beraknaArea());
}
}