执行程序给出 int 无法转换为 java.lang.string
Executing program gives int cannot be converted into java.lang.string
我目前正在使用 BlueJ(被模块导师强制使用,我讨厌它)并且每次尝试执行代码时都会出现错误。
incompatible types: java.lang.String cannot be converted into 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 方面遇到了困难。此特定练习的目的是编写代码,该代码将 return 用户输入的中间值数字。
谢谢!
BlueJ 用于调用方法或构造函数的参数接口旨在采用 java
语法中的参数。因此,例如 main
的参数 window 将期望以以下形式输入:
{"2" , "3" , "4"}
注意双引号,就像 java
中一样。事实上,这个原则对于任何类型的构造函数都是可扩展的。例如,也可以给出 {new String("2"), new String("3"), ...
作为参数。
我目前正在使用 BlueJ(被模块导师强制使用,我讨厌它)并且每次尝试执行代码时都会出现错误。
incompatible types: java.lang.String cannot be converted into 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 方面遇到了困难。此特定练习的目的是编写代码,该代码将 return 用户输入的中间值数字。
谢谢!
BlueJ 用于调用方法或构造函数的参数接口旨在采用 java
语法中的参数。因此,例如 main
的参数 window 将期望以以下形式输入:
{"2" , "3" , "4"}
注意双引号,就像 java
中一样。事实上,这个原则对于任何类型的构造函数都是可扩展的。例如,也可以给出 {new String("2"), new String("3"), ...
作为参数。