我是这个网站的新手,我需要一些帮助,我正在努力练习。我正在尝试运行一个'if-else'程序,询问半径或直径,然后输出周长。我已经有了一个非常基本的开始,但即使在互联网上寻找答案,我仍然感到困惑。
这是代码
import java.util.Scanner;
class Circumference
{
public static void main(String[] args)
{
double radius;
double diameter;
double c1 = (3.14 * (radius * radius));
double c2 = (3.14 * diameter);
Scanner in = new Scanner(System.in);
String answer = String.valueOf(1);
System.out.println("Do you have the radius, y/n?");
answer = in.nextLine();
{
if(answer.equalsIgnoreCase("y"))
{
System.out.println("Then give me the radius");
float radius = in.nextInt();
System.out.println("Circumference is : " + c1);
{
else if(answer.equalsIgnoreCase("n"))
{
System.out.println("Do you know the diameter then, y/n?");
string answer = in.nextLine();
{
else if(answer.equalsIgnoreCase("y"))
{
System.out.println("Then input the diameter");
float diameter = in.nextInt();
System.out.println("Circumference is : " + c2);
{
else if(answer.equalsIgnoreCase("n"))
{
System.out.println("Then find it");
}
}
}
}
}
}
}
}
}
}
当我尝试更改字符串时,它将无法识别它并说“无法将字符串更改为int”,或者执行时无法找到“c1”中的半径。
感谢所有帮助!
答案 0 :(得分:0)
通过查看代码,很明显你是java的新手。 就像@ m0skit0所说:
我们理解你很新,但这是学习Java的错误地方。
您对java的基本约定的理解存在根本缺陷,例如if / else和变量声明/初始化的概念。我建议你和你的教授或者教你java的人谈谈。您提供的程序根本无法正确编译。编译器错误应该很容易修复,因为大多数IDE基本上都是为你修复它们... 以下是您必须解决的一些问题:
第19行:float radius = in.nextInt();
在这里,您要声明并初始化一个名为radius的浮点数,但您已经有一个名为radius的双精度数。您不能在java中使用相同名称的变量。
第21行:由于某些我不知道的原因,你插入一个永不关闭的{
。那支撑没有任何意义,也是多余的。
第22行:如果没有if,你就无法拥有其他。
在第25行:String
是一个类,因此大写,与C不同。为什么在已经声明一个时创建一个名为answer的新String?再一次,您不能拥有相同名称的变量。
第26行:另一个完全不必要的大括号。
第30行:第三次,你不能将多个变量命名为相同的东西。
第32行:另一个完全无用的支撑。
第33行:如果没有if,你就无法拥有其他。