java获取异常的数据_Java(8题):异常,通过try catch进行处理,登录,商品,使用jdbc进行读取,详细图析...
// 1.要求输入班级人数,人数必须是正整数。通过异常机制来处理下,提示输入的人数不能为负数
package a;
import java.util.Scanner;
public class yichang {
public static void main(String[] args) {
try {
System.out.println("请输入班级的人数");
Scanner s = new Scanner(System.in);
int renshu = s.nextInt();
if (renshu < 0) {
throw new RuntimeException("人数必须为正整数");
}
System.out.println("班级人数为" + renshu);
} catch (RuntimeException e) {
System.out.println("输入的人数不能为负数");
}
}
}
2.定义一个数组长度为3的数组,打印其数据,要求(使用异常制作)
package a;
public class yichang {
public static void main(String[] args) {
try {
int[] up=new int[3];
int num1=10;
int num2=1;
int num3=num1/num2;//除数为0的异常
up[0]=11;
up[1]=22;
up[2]=33;
up[3]=44;//下标越界的异常
} catch (ArithmeticException e) {
//出现除数为0的时候执行这块的内容
//除数为的操作
System. out. println("b站up主诗书画唱提醒你,你的除数为0啦,快点赞!");
}catch(ArrayIndexOutOfBoundsException e1){
//下标越界操作
System. out. println("b站up主诗书画唱提醒你,下标越界啦,快投币!");
}
catch(Exception e2){
//其他异常
System. out. println( "b站up主诗书画唱提醒你,出现了其他类型的异常,快三连,关注!");
}
}
}
3、创建Student对象,设置name和age属性,在main方法中添加如下的代码:
Student stu = null;
stu.setName("张三");
System.out.println("学生的姓名设置完毕");
4.请分析以上的代码出现的错误,并通过try catch进行处理。
package a;
public class yichang {
public static void main(String[] args) {
try {
Student stu=null;
stu. setName("张三");
System . out. println("诗书画唱提醒你,学生的姓名设置完毕");
} catch (Exception e) {
// TODO: handle exception
System. out. println("诗书画唱提醒你,学生的姓名设置有误");
}
}
class Student{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}}
5.定义人的年龄不能大于100岁并小于1岁(使用异常制作)
package a;
import java.util.Scanner;
public class yichang {
public static void main(String[] args) {
try {System.out.println("请输入年龄");
Scanner s=new Scanner(System.in);//声明Scanner接收的类
int age= s.nextInt();//接收用户输入整形的数据
if(100
}
else{System . out. println("诗书画唱提醒你,人的年龄设置完毕");}
} catch (Exception e) {
// TODO: handle exception
System. out. println("诗书画唱提醒你,人的年龄不能大于100岁并不能小于1岁");
}
}
class shangpin{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age =age;
}
}}
//6.制作登录界面,使用异常判断用户输入是否为空,输入内容长度是否大于6位数,密码是否为空,年龄是否满18(使用异常制作)
package a;
import java.util.Scanner;
public class yichang {
public static void main(String[] args) {
che timegame = new huoche(1, "时间游戏", 30, 0, 3);
che mengame = new huoche(2, "爷们游戏", 50, 0, 5);
che woman= new keche(3, "女人游戏", 40, 4, 0);
che run = new keche(4, "跑步游戏", 80, 10, 0);
che swim = new pika(5, "游泳游戏", 60, 2, 4);
che sing = new pika(6, "唱歌游戏", 100, 4, 8);
che[] c = new che[6];
c[0] = timegame;
c[1] = mengame;
c[2] = woman;
c[3] = run;
c[4] = swim;
c[5] = sing;
yonghu yh = new yonghu();
che[] c_zuche = null;
while (true) {
System.out.println("---------“诗书画唱”名品牌游戏购买系统-----------");
System.out.println("请输入你的操作:1.登录 2.注册 3.跳出系统");
Scanner s = new Scanner(System.in);
int num = s.nextInt();
if (num == 1) {
System.out.println("----执行登录操作----");
System.out.println("请输入用户名:");
String uname = s.next();
try{
if(uname.length()<6){throw new StringIndexOutOfBoundsException("诗书画唱提醒你,"
+ "输入内容长度已经小于6");
/*拋出异常*/
}
else{System . out. println("输入内容长度已经不小于6");
}
} catch (StringIndexOutOfBoundsException e) {
// TODO: handle exception
System. out. println("诗书画唱提醒你,输入内容长度已经小于6,为确保你的安全,"
+ "最好大于6位数!且密码不能为空!");
}
System.out.println("请输入你的密码");
String pwd = s.next();
System.out.println("请输入你的年龄");
int age = s.nextInt();
if (uname.equals(yh.uname) && pwd.equals(yh.pwd)&& age ==yh.age) {
System.out.println("登录成功!");
break;
} else {
System.out.println("登录失败");
}
} else if (num == 2) {
System.out.println("----执行注册操作----");
System.out.println("请输入用户名:");
String uname = s.next();
System.out.println("请输入你的年龄");
int age = s.nextInt();
try{
if(age<18){throw new Exception("诗书画唱提醒你,你未满18岁,不能玩和购买这款游戏!");
}else{System . out. println("诗书画唱提醒你,年龄设置成功!");}
}
catch (Exception e) {
// TODO: handle exception
System. out. println("诗书画唱警告你,你未满18岁!");
}
System.out.println("请输入你的密码(最好输入内容长度大于6位数,不能为空)");
String pwd = s.next();
//pwd=null;
try{
if(pwd.length()<6){throw new StringIndexOutOfBoundsException("诗书画唱提醒你,密码不能小于6位数!");
/*拋出异常*/
}
else{System . out. println("诗书画唱提醒你,密码设置成功!");}
} catch (StringIndexOutOfBoundsException e) {
// TODO: handle exception
System. out. println("诗书画唱提醒你,输入内容长度不大于6位数,为确保你的安全,"
+ "必须大于6位数!且密码不能为空!");
}
catch (NullPointerException e) {
// TODO: handle exception
System. out. println("诗书画唱提醒你,密码不能为空!");
}
System.out.println("因为国家法律,要实名认证,请输入你的真实姓名");
String name = s.next();
yh.uname = uname;
yh.pwd = pwd;
yh.name = name;
yh.age = age;
System.out.println("注册成功!");
} else if (num == 3) {
System.exit(0);
}
}
// 购买游戏操作
while (true) {
System.out.println("欢迎," + yh.name + "请选择你的操作:");
System.out
.println("1.查看游戏列表 2.进行购买 3.查看我的购买总价格,总可在线玩人数,总可下线玩人数 4.跳出系统");
Scanner s1 = new Scanner(System.in);
int num = s1.nextInt();
if (num == 1) {
for (che i : c) {/* 相当于for(int i=0;i
i.jieshao();
}
} else if (num == 2) {
System.out.println("请输入你要买的游戏数");
int num1 = s1.nextInt();
c_zuche = new che[num1];
for (int i = 0; i < num1; i++) {
System.out.println("请输入第" + (i + 1) + "游戏的编号");
int bianhao = s1.nextInt();
switch (bianhao) {
case 1:
c_zuche[i] = timegame;
break;
case 2:
c_zuche[i] = mengame;
break;
case 3:
c_zuche[i] = woman;
break;
case 4:
c_zuche[i] = run;
break;
case 5:
c_zuche[i] = swim;
break;
case 6:
c_zuche[i] = sing;
break;
}
}
System.out.println("购买成功!");
} else if (num == 3) {
if (c_zuche == null) {
System.out.println("你还没有进行购买呢!");
} else {
int zongjiage = 0;
int zongkezaixianwanrenshu = 0;
int zongkexiaxianwanrenshu = 0;
for (che i : c_zuche) {
i.jieshao();
zongjiage += i.jiage;
zongkezaixianwanrenshu += i.zaikeliang;
zongkexiaxianwanrenshu += i.zaiwuliang;
}
System.out.println("总价格" + zongjiage + "总可在线玩人数" +
zongkezaixianwanrenshu + "总可下线玩人数" + zongkexiaxianwanrenshu);
}
} else {
System.exit(0);/* 终止系统,不可为break,break是跳出循环 */
}
}
}
}
class yonghu {
String uname;
String pwd;
String name;
int age;
}
abstract class che {
int bianhao;
String name;
int jiage;
int zaikeliang;
int zaiwuliang;
public che(int bianhao, String name, int jiage, int zaikeliang,int zaiwuliang) {
this.bianhao = bianhao;
this.name = name;
this.jiage = jiage;
this.zaikeliang = zaikeliang;
this.zaiwuliang = zaiwuliang;
}
abstract void jieshao();
}
class huoche extends che {
public huoche(int bianhao, String name, int jiage,
int zaikeliang, int zaiwuliang) {
super(bianhao, name, jiage, zaikeliang, zaiwuliang);
}
void jieshao() {
System.out.println("编号" + this.bianhao + "\t名称:" + this.name +
"\t价格" + this.jiage + "\t总可在线玩人数" + this.zaiwuliang);
}
}
class keche extends che {
public keche(int bianhao, String name, int jiage, int zaikeliang,
int zaiwuliang) {
super(bianhao, name, jiage, zaikeliang, zaiwuliang);
}
void jieshao() {
System.out.println("编号" + this.bianhao + "\t名称:" +
this.name + "\t价格" + this.jiage + "\t总可下线玩人数" + this.zaikeliang);
}
}
class pika extends che {
public pika(int bianhao, String name, int jiage, int zaikeliang,
int zaiwuliang) {
super(bianhao, name, jiage, zaikeliang, zaiwuliang);
}
void jieshao() {
System.out.println("编号" + this.bianhao + "\t名称:" +
this.name + "\t价格" + this.jiage + "\t总可在线玩人数" + this.zaikeliang + "总可下线玩人数" +
this.zaiwuliang);
}
}
7.定义商品类,判断商品的价格是否大于100并小于500(使用异常制作)
package a;
import java.util.Scanner;
public class yichang {
public static void main(String[] args) {
try {System.out.println("请输入商品的价格");
Scanner s=new Scanner(System.in);//声明Scanner接收的类
int jiage= s.nextInt();//接收用户输入整形的数据
if(500
}
else{System. out. println("诗书画唱提醒你,商品的价格大于100并小于500");}
} catch (Exception e) {
// TODO: handle exception
System. out. println("诗书画唱提醒你,商品的价格不大于100并且不小于500");
}
}
class shangpin{
private String name;
private int jiage;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getJiage() {
return jiage;
}
public void setJiage(int jiage) {
this.jiage =jiage;
}
}}
//JDBC作业:
//1.建立一张数据库表stu,包含编号,姓名,年龄,性别,成绩属性,使用jdbc进行读取数据库中的数据
package a;
import java.sql.*;
public class yichang {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Jar:各个数据库厂商都实现了ODBC规范,形成了自己的API,就是我们导入的这个jar包
//1.加载数据库驱动(非运行时的异常)
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2.建立连接(参数三个,1用户名 2密码 3数据库名称)
//这个链接数据库也要抛异常,为了方便,我将所有异常一块抛出
Connection con=DriverManager.getConnection("jdbc:sqlserver://DESKTOP-49FTFSP;"
+ "databaseName=stud","sa","1234abcd");
//3.执行SQL语句
String sql="select * from Student";
Statement sta=con.createStatement();
//4.获取结果(存入到数据连接池中)
ResultSet res=sta.executeQuery(sql);
//5.遍历结果
while(res.next()){
System.out.print(res.getObject("Id")+" ");
System.out.print(res.getObject("Name")+" ");
System.out.print(res.getObject("Gender")+" ");
System.out.print(res.getObject("Height")+" ");
System.out.print(res.getObject("Weight")+" ");
System.out.print(res.getObject("Age")+" ");
System.out.print(res.getObject("Class")+" ");
System.out.println();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
类比替换法。
相关知识图:
、
看结构
java获取异常的数据_Java(8题):异常,通过try catch进行处理,登录,商品,使用jdbc进行读取,详细图析...相关推荐
- java获取前端json数据_java如何获取前端ajax传来的json对象
假设使用 jQuery 中的 ajax 1. Json 对象 前端代码示例 $.ajax({ url : 'http://localhost:8888/demo', type: 'post', dat ...
- java 获取json的值_Java如何获取JSON数据中的值
场景:在接口自动化场景中,下个接口发送的请求参数,依赖上个接口请求结果中的值.需要将获取值作为全局参数引用. import java.io.File; import java.io.FileInput ...
- java excel data 导入数据_java实现导入导出excel数据
项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...
- java 获取手机归属地_java 获取手机归属地
java 获取手机归属地 [2021-01-30 20:46:44] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...
- java判断对象无数据_java 对象属性不能为空判断
如何判断一个对象里的属性是否都为空的 怎么判断一个对象里的属性是否都为空的怎么判断一个对象里的属性是否都为空的,或者判断该对象是否是一个实体!引用:怎么判断一个对象里的属性是否都为空的,或者判断该对象 ...
- java lang runtimeexception什么意思_Java基础之异常
1.异常结构 Java中异常的父类接口为Throwable,它的两个实现类为Error和Exception.根据Javac对异常的分类可以将异常划分为两类,如下所示: 不可检查异常:Error 和 R ...
- java编译异常有哪些_java 中 哪些异常必须声明并捕获,否则产生编译错误
RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类. 可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws ...
- 用Java获取vSphere相关数据
2019独角兽企业重金招聘Python工程师标准>>> 1.到官网下载SDK,VMware-vSphere-SDK-6.0.0-2561048.zip解压下来会有5个目录,VMwar ...
- java 获取所有实现类_Java动态获取实现某个接口下所有的实现类对象集合
Java动态获取实现某个接口下所有的实现类对象集合 最近有个需求,我需要获取所有同一类型的定时任务的对象,并自动执行. 我想的方案是:直接获取某个接口下面所有的实现类的对象集合,方便以后只需要 实现这 ...
最新文章
- labview生成HTML报表,LabVIEW201
- 第十三周项目三-形状类族中的纯虚函数
- Android应用开发-广播和服务
- golang获取变量地址值和指针变量示例
- $.ajax防止多次点击重复提交的方法
- react之路:使用immutable管理store中的数据
- fullpage常用配置
- 微信小程序-基于canvas画画涂鸦
- 【语义分割】评价指标代码函数:np.sum()、np.nansum()、np.nanmean()、np.diag()、np.bincount()
- (转)比特币算法——SHA256算法介绍
- 联想拯救者y7000p 固态移动硬盘安装Linuxmint19.1 操作系统
- Maven Helper插件下载
- 【python绘图】seaborn可视化+鼠标滑动自动标注数据
- 中国艺术孙溟㠭篆刻艺术
- lap 加MySQL主从复制_LAP+mysql-主从+redis
- FICO与MM的集成概述
- Python发送邮件(以QQ邮箱为例)
- 求Jordan标准型
- 中国自主研发的USB2.0 HUB芯片,即将发布CH334 和CH335工业级
- Async 和 Await 技术