gpt4 book ai didi

Java 的构造函数和小数格式问题

转载 作者:行者123 更新时间:2023-12-02 00:16:51 26 4
gpt4 key购买 nike

我在使用以下 java 代码时遇到问题。

我必须有两个构造函数,其中一个必须默认为黄色,另一个您应该可以选择。我做错了什么?

其次,方法 beraknaomkrets 中的一位小数格式似乎不起作用,我做错了什么。

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());
}
}

最佳答案

这会将参数中变量 farg 的值分配给实例变量 farg。

public Cirkel(String farg)
{
radie = 0;
this.farg = farg;
}

现在,如果您希望将 Farg 的值设置为“gul”,那么您有两个选择。将实例变量初始化为gul

private String farg = "gul";

或者对默认构造函数进行修改。任何一种都适合您。

public Cirkel()
{
radie = 0;
this.farg = "gul";
}

关于Java 的构造函数和小数格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11765211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com