我目前正在使用BlueJ(被模块导师强迫,我讨厌它),每次尝试执行代码时都会出现错误。
不兼容的类型:java.lang.String无法转换为int
我的代码如下:
public class middle
{
public static void main (String[] args)
{
String numeroUno = args[0];
String numeroDos = args[1];
String numeroTres = args[2];
double num1 = Double.parseDouble(args[0]);
double num2 = Double.parseDouble(args[1]);
double num3 = Double.parseDouble(args[2]);
middle(num1, num2, num3);
}
public static void middle(double n1, double n2, double n3)
{
double [] values = {n1, n2, n3};
double newarr;
boolean sorted = false;
while(!sorted)
{
sorted = true;
for(int i=0; i<values.length-1; i++)
{
if(values[i] > values[i+1])
{
double swapsies = values[i+1];
values[i+1] = values[i];
values[i] = swapsies;
sorted = false;
}
}
}
System.out.print(values[1] + " is between " + values[0] + " and " + values[2]);
}
}
首先我的问题是我在哪里犯了错误,但其次,是否有另一种方法来构造这段代码,即完全重写它以实现同样的事情。我并不习惯以这种方式编写代码,而且我在使用OOP时遇到了困难。此特定练习的目的是编写代码,该代码将返回用户输入的中间值编号。
谢谢!
答案 0 :(得分:3)
用于调用方法或构造函数的BlueJ的参数接口旨在使用java
- 语法中的参数。因此,例如main
的参数窗口将预期以以下形式输入:
{"2" , "3" , "4"}
请注意双引号,就像在java
中一样。事实上,这个原则对于任何类型的构造函数都是可扩展的。例如,也可以将{new String("2"), new String("3"), ...
作为参数。