类型不匹配:can';t从double转换为int-java publicstaticvoidmain(字符串[]args){ 试一试{ BufferedReader br=新的BufferedReader(新文件读取器(“file.txt”); String[]pole=br.readLine().split(“”); double L=double.parseDouble(极点[0]); double N=double.parseDouble(极点[1]); 字符串[]权重=新字符串[N]; 双[]刻度=新双[N]; 双精度[]位置=新双精度[N]; 对于(int i=0;i
,因为N是类型不匹配:can';t从double转换为int-java publicstaticvoidmain(字符串[]args){ 试一试{ BufferedReader br=新的BufferedReader(新文件读取器(“file.txt”); String[]pole=br.readLine().split(“”); double L=double.parseDouble(极点[0]); double N=double.parseDouble(极点[1]); 字符串[]权重=新字符串[N]; 双[]刻度=新双[N]; 双精度[]位置=新双精度[N]; 对于(int i=0;i,java,types,int,double,type-mismatch,Java,Types,Int,Double,Type Mismatch,,因为N是double,所以这里需要一个类型case public static void main(String[] args) { try{ BufferedReader br=new BufferedReader(new FileReader("file.txt")); String[] pole=br.readLine().split(" "); double L=Double.parseDouble(pole[0]); double N=Double.
double
,所以这里需要一个类型case
public static void main(String[] args) {
try{
BufferedReader br=new BufferedReader(new FileReader("file.txt"));
String[] pole=br.readLine().split(" ");
double L=Double.parseDouble(pole[0]);
double N=Double.parseDouble(pole[1]);
String[] weight=new String[N];
double[] scale=new double[N];
double[] place=new double[N];
for(int i=0; i<N; i++){
weight[i]=br.readLine();
String[] variable=weight[i].split(" ");
double variable1=Double.parseDouble(variable[0]);
double variable2=Double.parseDouble(variable[1]);
scale[i]=variable2;
place[i]=variable1*variable2;
}
原因是
double
是浮点类型,您无法创建长度为1.5:)的数组N是double,但您正在尝试对其进行迭代。您必须对其进行类型转换。您的问题就在这里
String[] weight=new String[(int)N];
改为
double L=Double.parseDouble(pole[0]);
double N=Double.parseDouble(pole[1]);
因为int
只接受数组索引。试试这个
int L=Integer.parseInt(pole[0]);
int N=Integer.parseInt(pole[1]);
公共类元组{
公共静态void main(字符串[]args){
试一试{
BufferedReader br=新的BufferedReader(新的文件阅读器(“UserController.txt”);
String[]pole=br.readLine().split(“”);
double L=double.parseDouble(极点[0]);
double N=double.parseDouble(极点[1]);
System.out.println(“L是”+L);
字符串[]权重=新字符串[(int)N];
双[]标度=新双[(int)N];
双[]位=新双[(int)N];
对于(int i=0;i,为什么要截断数据而不是对其进行舍入?@antoniosss为True,但舍入没有意义。如果值0.9或0.51:)在这种情况下都相同,我从不创建元素。
public class Tuple {
public static void main(String[] args) {
try{
BufferedReader br=new BufferedReader(new FileReader("UserController.txt"));
String[] pole=br.readLine().split(" ");
double L=Double.parseDouble(pole[0]);
double N=Double.parseDouble(pole[1]);
System.out.println("L is "+L);
String[] weight=new String[(int) N];
double[] scale=new double[(int) N];
double[] place=new double[(int) N];
for(int i=0; i<N; i++){
weight[i]=br.readLine();
String[] variable=weight[i].split(" ");
double variable1=Double.parseDouble(variable[0]);
double variable2=Double.parseDouble(variable[1]);
scale[i]=variable2;
place[i]=variable1*variable2;
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}