【发布时间】:2016-11-13 15:08:00
【问题描述】:
不知道如何解决这个问题。每次更改某些内容时都会抛出不同的错误。
我必须创建数组 A 和 B,都是 10 个大的数字。如果 k=0,我必须用随机数 (0-20) 填充 A,用 (50-100) 填充 B,如果 k 不等于 0,那么我必须使用给定的公式计算两个数组。
最后但同样重要的是,我必须创建第三个数组C= A[0] B[0] A [1] B[1]......
现在我正在处理这个问题:
Exception in thread "main" java.util.IllegalFormatConversionException: f != java.lang.Integer
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printFloat(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at Ld3161rdb146.main(xxx.java:50)
代码:
public static void main(String[] args) {
int A[] = new int [10];
int B[] = new int [10];
int K, i;
float C;
Scanner sc = new Scanner(System.in);
System.out.println("Imants Kravalis 161RDB146");
System.out.print("K=");
if (sc.hasNextInt())
K = sc.nextInt();
else {
System.out.println("input-output error");
sc.close();
return;
}
sc.close();
if (K ==0)
{
Random r = new Random();
i=0;
while(i<10)
{
A[i] = r.nextInt()*0-21;
B[i] = r.nextInt()*50-101;
i++;
}
}
else
i=0;
while(i<10)
{A[i] = i+K;
B[i] = (i+10)*K;
i++;
}
System.out.println("A:");
i=0;
do{
System.out.printf("%.1f\t", A[i]);
i++;
}while(i<10);
System.out.println("B:");
i=0;
do{
System.out.printf("%.1f\t", B[i]);
i++;
}while(i<10);
for (i=0; i<20; i++) {
C=A[i]&B[i];
System.out.printf("%.1f\t", C);
}
}
}
【问题讨论】:
-
1.) 一些 Recommended Reading 和 2.) 您似乎对某些符号的含义有很多误解。您应该(重新)访问一些基础知识。
-
请不要把你咄咄逼人的态度带到这里。我编辑了一些东西 - 我们不需要阅读你的挫败感。
标签: java arrays for-loop while-loop