我是Java的新手,我正在努力让某些代码正常运行。最近,我一直在使用我必须在控制台中设计的桌子时遇到问题。它的公斤转换为磅,磅转换为公斤。我的问题是,由于某种原因,当我去打印桌子时,它会贯穿并打印出公斤1,1,1,1,1,1,1,1,1到磅侧,而另一方面它操作完美。我的猜测是,它是同时运行两个循环,任何建议都有帮助,这已经困扰了我很长一段时间......我将列出下面的代码:
import java.text.DecimalFormat;
public class mian55 {
public static void main(String[] args) {
System.out.println("Kilograms Pounds" + " | " + "Pounds Kilolograms");
for(int kilogram = 1; kilogram<200; kilogram = kilogram+2){
DecimalFormat decimal = new DecimalFormat("#.0");
for(int poundage = 20; poundage<516; poundage= poundage+5){
DecimalFormat decim = new DecimalFormat("#.0");
System.out.println(kilogram + " " + decimal.format(kilogram * 2.2) +" | " + (poundage + " " + decim.format(poundage / 2.2)));
}
}
}
}
答案 0 :(得分:2)
问题是外循环中的kilogram
变量不会因内循环的每个循环而改变,导致第一列和第二列重复内循环运行的次数。尝试在每个循环上递增两个变量,就像这样(为简洁而缩短变量):
import java.text.DecimalFormat;
public class mian55 {
public static void main(String[] args) {
System.out.println(" Kilograms Pounds | Pounds Kilograms");
int kgs = 1;
int lbs = 20;
for (; kgs < 200 && lbs < 516; kgs += 2, lbs += 5){
DecimalFormat decimal = new DecimalFormat("#.0");
System.out.println(String.format(" %7d %7s | %7d %7s",
kgs, decimal.format(kgs * 2.2), lbs, decimal.format(lbs / 2.2)));
}
}
}
答案 1 :(得分:0)
这是创建转换表的一种方法。
这是一个程序的结果。
Kilograms Pounds | Pounds Kilolograms
10 22.00 | 10 4.55
20 44.00 | 20 9.09
30 66.00 | 30 13.64
40 88.00 | 40 18.18
50 110.00 | 50 22.73
60 132.00 | 60 27.27
70 154.00 | 70 31.82
80 176.00 | 80 36.36
90 198.00 | 90 40.91
100 220.00 | 100 45.45
110 242.00 | 110 50.00
120 264.00 | 120 54.55
130 286.00 | 130 59.09
140 308.00 | 140 63.64
150 330.00 | 150 68.18
160 352.00 | 160 72.73
170 374.00 | 170 77.27
180 396.00 | 180 81.82
190 418.00 | 190 86.36
200 440.00 | 200 90.91
我在表格的左侧使用了相同的值。这允许我使用一个for循环。
Java类名以大写字母开头。
我使用了String的格式方法,而不是DecimalFormat,所以我可以调整间距以匹配标题。
这是代码。
package com.ggl.testing;
public class Conversions {
public static void main(String[] args) {
System.out.println("Kilograms Pounds" + " | " + "Pounds Kilolograms");
for (int value = 10; value <= 200; value += 10) {
float pounds = (float) value * 2.2F;
float kilograms = (float) value / 2.2F;
String v = String.format("%9d", value);
String p = String.format("%10s", String.format("%5.2f", pounds));
String k = String.format("%14s", String.format("%5.2f", kilograms));
System.out.println(v + p + " | " + v + k);
}
}
}