比如这个案例:
for (int i = 0; i 1; i++)
{ Console .WriteLine ("输入第{0}个月的降雨量",i+1);
rainfall[i] = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("输入第{0}个月的污染物", i + 1);
pollution [i] = Convert.ToInt16(Console.ReadLine());
}
}
public int GetRainfall(int index)
{
try { return rainfall[index]; }
catch (IndexOutOfRangeException)
{
Console.WriteLine("数组越界");
return 0;
}
因为这里Console.Read()的缘故。把Console.Read改为Console.ReadLine并且判断字符串是否=="Y"。
修改为:
do {
Console.WriteLine("输入要查询的月份");
month = Convert.ToInt16(Console.ReadLine());//这里总是报错Input string was not in a correct format.
Console.WriteLine("该月份的降雨量为{0}", newM.GetRainfall(month - 1));
Console.WriteLine("该月的单位降雨量所含污染物为{0}", newM.GetAveragePollution(month - 1));
Console .WriteLine ("是否继续查询?Y/N");
c=Convert .ToChar (Console .Read ());
}while(c=='Y');
扩展资料
C语言常见的错误
a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c。
执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的。
public static String format(String format,
Object... args)
Returns a formatted string using the specified format string and arguments.
The locale always used is the one returned by Locale.getDefault().
Parameters:
format - A format string
args - Arguments referenced by the format specifiers in the format string. If there are more arguments than format specifiers, the extra arguments are ignored. The number of arguments is variable and may be zero. The maximum number of arguments is limited by the maximum dimension of a Java array as defined by The Java™ Virtual Machine Specification. The behaviour on a null argument depends on the conversion.
Returns:
A formatted string
Throws:
IllegalFormatException - If a format string contains an illegal syntax, a format specifier that is incompatible with the given arguments, insufficient arguments given the format string, or other illegal conditions. For specification of all possible formatting errors, see the Details section of the formatter class specification.
NullPointerException - If the format is null
signal a : integer range 0 to 7 :="00000010" ;
signal b :integer range 0 to 7 := "00000100";
上面两句有问题,既然a和b的类型是整型的子类型 integer range 0 to 7,其初值就只能是0~7当中的某个数,例如2或者4等等:
signal a : integer range 0 to 7 :=2 ;
signal b :integer range 0 to 7 := 4;
String literal is not properly closed by a double-quote 的意思是说少了一个 “上面说的14行不是jsp页面的14行,而是jsp页面转译成的servlet文件的14行,到servlet文件看看是否少了 ”或者有双引号但是两个双引号没在一行。还有你的页面有乱码最好把页面编码方式改好,java中编码这儿很麻烦,很容易导致意想不到的错误,祝你好运啦
orcale数据库中的时间不能用’2015-12-12'的字符串格式,要用转换函数把时间字符串转成date格式才可以比较
1.编码方式的gbk和utf不同,不可以互相转换,只有byte和utf或者byte和gbk之间的转换,转码过程如下图:
2.可以使用另一种转码方式来进行转码,过程如下图:
3.如果这两种方法,你都试验过,还没有转码成功的话,那就要看看你的控制台或者页面编码方式了:编码方式,控制台修改
(1)Window-Preferences-General -Content Type-Text-JSP 最下面设置为UTF-8:
(2)Window-Preferences-General-Workspace 面板Text file encoding 选择UTF-8
(3)Window-Preferences-Web-JSP Files 面板选择 ISO 10646/Unicode(UTF-8)
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具。