- 鲁棒性(robustness)就是系统的健壮性。它是在异常和危险情况下系统生存的关键。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。以闭环系统的鲁棒性作为目标设计得到的固定控制器称为鲁棒控制器。
- public static String valueOf(int i)返回 int 参数的字符串表示形式。
该表示形式恰好是单参数的 Integer。
char[] ch = String.valueOf(n).toCharArray(); - jsp:java sevlet page
- 是什么:用户:一个网页;程序员:一个继承sevlet的java类,可以在里面写java代码
- 为什么:html是静态的,而jsp涉及数据库。例如,要查找一个学生,在网页上显示。
- 设置jsp的编码方式:windows—>preferences—>搜索jsp files—>UTF-8
- jsp指令格式:<%@ 指令名%>
- jsp的三大指令:
- page
language:jsp可以写java代码
contentType:文件是什么类型,浏览器怎么打开,用什么编码
pageEncoding:编码
session:控制jsp页面是否能使用session对象
errorpage:跳转至错误界面——iserrorpage 打印错误信息<%=exception.toString() %>
- page
//java多行输入
System.out.println("输入数字");
Scanner input = new Scanner(System.in);
Integer k = input.nextInt();
for (int i = 0; i <3 ; i++) {
System.out.println(k);
}
/**
* @author VellBibi
*【程序50】TestStu.java
*题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算
*出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
*/
public class TestStu {
public static void main(String[] args) {
int n = 5;//人数
Scanner s = new Scanner(System.in);
String[] num = new String[n];
String[] name = new String[n];
float[][] grade = new float[n][3];
float[] ave = new float[n];
//输入数据
for(int i=0; i<n; i++){
System.out.print("学号:");
num[i] = s.next();
System.out.print("姓名:");
name[i] = s.next();
for(int j=0; j<3; j++){
System.out.print("第"+(j+1)+"门课成绩:");
grade[i][j] = s.nextFloat();
}
}
//处理数据
for(int i=0; i<n; i++){
for(int j=0; j<3; j++){
ave[i] += grade[i][j];
}
ave[i] /= 3;
}
//写入文件
try {
FileWriter fw = new FileWriter(new File("d://stud.txt"));
BufferedWriter bw = new BufferedWriter(fw);
for(int i=0; i<n; i++){
bw.write("学号:" + num[i] + " ");
bw.write("姓名:" + name[i] + " ");
bw.write("成绩:{ ");
for(int j=0; j<3; j++){
bw.write(grade[i][j] + " ");
}
bw.write("} ");
bw.write("平均成绩: " + ave[i]);
bw.newLine();
}
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
for的冒号表示:
冒号后是要遍历的集合,冒号前是实例化一个 集合中包含的元素,Sheet的包含元素是Row,Row包含元素是Cell.比如:
ArrayList<类A> list=new ArrayList<类A>();
for(类A a : list){
操作a;
}
- JAVA异常处理的意义何在??为什么要做异常处理,作用是什么??
java的异常处理只要是解决一些你的程序无法掌控 但是又需要的部分。比如说你的程序需要读取某个文件,或者需要连接网络,又或者使用数据库这样的情况。虽然程序是你写的 但是你绝对不能保证文件一定存在,网络一定畅通,数据库一定会打开,这个时候为了程序能继续运行,就需要把上边说的情况解释成异常,要想运行就必须这些处理异常。
异常处理有利于正确显示错误信息和错误的地点,以进行下一步的相关操作,比如一个web程序,后台出错了,前台要不就是什么都不显示要不就是显示一堆代码错误信息,并不直观,这个时候你做些封装处理,在前台就一目了然,比如插入数据因为链接数据库异常出错,前台就需要给出什么原因而不是看到的打印台的那些代码错误的用户看不懂的信息,异常处理的功能还是很多,这只是一方面。 - java中怎么不停的将输入的数存入数组(不知道长度),以回车结束。
1.先明确一点你数字与数字之间是有分隔符号的吧,比如逗号,或者空格..
2.回车是\r\n
3.其实你控制台输入的,都可以用字符串形式接受,然后根据你输入的间隔符号(比如逗号和空格)
然后进行切割,nextLine这函数就侦测回车符号的,一旦你回车就算一行结束!
4.不知道数组长度,解决办法很多:
其实你一切割,就能拿到你输入数字的个数了,就是切割后的数组长度;
办法1:你不能输入1024个长度单位的数组吧?数组就定那么长,就可以了,取的时候取有有效位即可!
办法2:用容器,ArrayList存,这玩意底层也是数组特点就是自增长,就是它看长度不够就立马加长一点
办法3:你还是用数组,根据方法2的原理,先定义10个长度,然后进行判断,切割后的数组长度超过
你定义的长度,就在数组内部顶一个临时的新数组,长度也自增长,然后在把临时数组提交给原有
的数组即可!
import java.util.Scanner;
public class NumberTest {
public static void main(String[] args) {
String str=new Scanner(System.in).nextLine();
String[] srr=str.split(",");
ArrayList<Number> list=new ArrayList<>();
for (int i = 0; i < srr.length; i++) {
list.add(Integer.valueOf(srr[i]));
}
System.out.println(list);
}
}