JaVA问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JaVA问题相关的知识,希望对你有一定的参考价值。

4、 指出程序中错误并改正代码
1 public class Test
2 public void main(string[] args)
3 int i;
4 int k = 100.0;
5 int j = i + 1;
6
7 System.out.println("j is " + j + " and
8 k is " + k);
9
10

5、 以下类型转换是否都成功,如果可以,写出转换后输出结果
char c = 'A';
i = (int)c;
float f = 1000.34f;
int i = (int)f;
double d = 1000.34;
int i = (int)d;
int i = 97;
char c = (char)i;

6、输出程序运行结果
(a) System.out.printf("amount is %f %e\n", 32.32, 32.32);
(b) System.out.printf("amount is %5.4f %5.4e\n", 32.32, 32.32);
(c) System.out.printf("%6b\n", (1 > 2));
(d) System.out.printf("%6s\n", "Java");
(e) System.out.printf("%-6b%s\n", (1 > 2), "Java");
(f) System.out.printf("%6b%-s\n", (1 > 2), "Java");

提示:JDK1.5以上提供了格式化控制台输出方法 (类似C语言)
格式1:System.out.printf(format, item1, item2, …);
格式化字符串 格式2:String.format(format, item1, item2, …);
常用格式描述符如下:
%b 布尔值
%c 字符
%d 十进制整数
%f 浮点数
%e 科学计数法
%s 字符串

参考技术A 第四题
3 int i;
4 int k = 100.0;k是整形,不能有小数点
5 int j = i + 1;i没有初始值,所以这里不能用i+1给j赋值,修改就是给i一个初始值,比如0
第五题:
char c = 'A';
i = (int)c;i没有定义类型,所以不可以
float f = 1000.34f;
int i = (int)f;答案1000
double d = 1000.34;
int i = (int)d;答案1000
int i = 97;
char c = (char)i;答案a
第6题
amount is 32.320000 3.232000e+01

amount is 32.3200 3.2320e+01
false(前面一个空格)
Java(前面俩空格)

false Java
没有输出,会报错
参考技术B int k = 100.0; 类型不对
int j = i + 1; i没初始化

65
1000
1000
97

amount is 32.320000 3.232000e+01
amount is 32.3200 3.2320e+01
false
Java
false Java
Exception in thread "main" java.util.MissingFormatWidthException: -s
参考技术C 要学好java语言 就到天津蓝白金学校

java问题

String umName;
BigDecimal pri;
umName = sheet.getCell(8, datarows).getContents(); 这句是正确的。
pri = sheet.getCell(9, datarows).getContents();这个改怎么改?

BigDecimal这个类就只有一个构造方法接收Stying
BigDecimal(String val)
将 BigDecimal 的字符串表示形式转换为 BigDecimal。
这个是注解.自己看把

BigDecimal
public BigDecimal(String val)将 BigDecimal 的字符串表示形式转换为 BigDecimal。字符串表示形式由可选符号 '+' ('\u002B') 或 '-' ('\u002D') 组成,后跟零或多个十进制数字(“整数”)的序列,可以选择后跟一个小数,也可以选择后跟一个指数。
该小数由小数点以及后跟的零或更多十进制数字组成。字符串必须至少包含整数或小数部分中的一个数字。由符号、整数和小数部分组成的数字称为有效位数。

指数由字符 'e'('\u0065') 或 'E' ('\u0045') 以及后跟的一个或多个十进制数字组成。指数的值必须位于 Integer.MAX_VALUE (Integer.MIN_VALUE+1) 和 Integer.MAX_VALUE(包括)之间。

更正式地说,以下语法描述了此构造方法接受的字符串:

BigDecimalString:
Signopt Significand Exponentopt

Sign:
+
-

Significand:
IntegerPart .FractionPartopt
. FractionPart
IntegerPart

IntegerPart:
Digits

FractionPart:
Digits

Exponent:
ExponentIndicator SignedInteger

ExponentIndicator:
e
E

SignedInteger:
Signopt Digits

Digits:
Digit
Digits Digit

Digit:
Character.isDigit(char) 对其返回 true 的任何字符,如 0、1、2……
返回的 BigDecimal 的标度将是小数部分中的数字位数,如果该字符串不包含小数点,则标度为零,这取决于对指数的调整;如果字符串包含一个指数,则从标度减去该指数。得到的标度值必须位于 Integer.MIN_VALUE 和 Integer.MAX_VALUE(包括)之间。

Character.digit(char, int) 集提供从字符到数字的映射,以转换成基数 10。该字符串不能包含任何额外字符(例如,空白)。

示例:
返回的 BigDecimal 的值等于有效位数 × 10 指数。对于左边的每个字符串,得到的表示形式 [BigInteger, scale] 显示在右边。

"0" [0,0]
"0.00" [0,2]
"123" [123,0]
"-123" [-123,0]
"1.23E3" [123,-1]
"1.23E+3" [123,-1]
"12.3E+7" [123,-6]
"12.0" [120,1]
"12.3" [123,1]
"0.00123" [123,5]
"-1.23E-12" [-123,14]
"1234.5E-4" [12345,5]
"0E+7" [0,-7]
"-0" [0,0]
注:对于不是 float、double NaN 和 ±Infinity 的值,此构造方法与 Float.toString(float) 和 Double.toString(double) 返回的值兼容。这通常是将 float 或 double 转换为 BigDecimal 的首选方法,因为它不会遇到 BigDecimal(double) 构造方法的不可预知问题。

参数:
val - BigDecimal 的字符串表示形式。
抛出:
NumberFormatException - 如果 val 不是 BigDecimal 的有效表示形式。
参考技术A pri=new BigDecimal(sheet.getCell(9, datarows).getContents()); 参考技术B pri = Integer.perseInt(sheet.getCell(9, datarows).getContents()); 参考技术C 看API文档里面方法返回值和参数类型

以上是关于JaVA问题的主要内容,如果未能解决你的问题,请参考以下文章

java问题

java 小问题

java问题

java实现日期排序问题

java问题

Java中String问题