2017年3月8号课堂笔记

2017.03.08  晴 大风

内容:循环总结,数组第一课,JUnit添加及应用方法

一、ForDemo13(登录验证,验证次数最多3次)

 1、老师代码:

public class ForDemo13 {

/**
*验证用户登录 失败次数
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name; // 用户名
String password; // 密码
int i;// 记录用户失败的次数
// 进行三次循环操作
for (i = 0; i < 3; i++) {
System.out.println("请输入用户名:");
name = scanner.next();
System.out.println("请输入密码:");
password = scanner.next();
// 判断用户名和密码是否正确
if ("admin".equals(name) && "admin".equals(password)) {
System.out.println("登录成功!");
break;
} else {
System.out.println("输入错误!您还有" + (2 - i) + "次机会!");
}
}
if (i == 3) { // 3次输入都不对
System.out.println("对不起!您三次都输入错误!");
}

}
}

 2、自己代码:

package cn.bdqn.test;

import java.util.Scanner;

/**
*<P>Title<P>ForDemo13
*<P>Description<P>
*LoginValidate登录验证
*用户验证次数最多3次
* @author alex
* @date 2017-3-8上午6:19:50
* You can either travel or read,but either your body or soul must be on the way
*/
public class ForDemo13 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String username = "jim";
String password = "123456";

for (int i = 3; i >= 1; i--) {
System.out.print("请输入用户名:");
String name = input.next();
System.out.print("请输入密码:");
String word = input.next();

if (name.equals(username) && word.equals(password)) {
System.out.println("欢迎登陆MyShopping系统!");
return;
} else {
System.out.println("输入错误!您还有" + (i - 1) + "次机会! ");
continue;
}
}
System.out.println(" 对不起,您3次均输入错误!");
}
}

二、循环的总结

三、数组图解

 

 四、JUnit添加及应用方法

 1、右键点击项目名,BuildPath--->Add Library--->JUnit

 

2、Next--->version里选择JUnit 4--->Finish

3、项目里生成一个JUnit 4文件夹

 

4、新建测试类Test02,用main方法输出"abc"

 

5、输入“@Test”,手动导入包import org.junit.Test;

新建方法:

public void hello(){
System.out.println("def");
}

 

6、如何运行方法hello?

双击方法名hello,之后右键选择runas--->选择第二项JUnit Test即可,控制台输出该方法中的"def"!同时左侧出现JUnit显示窗!

五、数组的基础使用

1、老师代码:

/**
* 数组:存储相同数据类型的一组数据!
* 声明一个数组就是在内存中开辟了一连串的连续空间!
*
* 数组和String 都是 引用数据类型
* 数组的使用
*/
@Test
public void test01(){
//01.声明数组 只能存放int数据类型的值 火车车厢
int [] score;
/**
* 02.分配空间 给车厢创建 座位
* score=new int[3];相当于开辟了 一个长度为3的数组
* 它的下标最大只能到 数组的长度-1
*/
score=new int[3];
//03.赋值 乘客入座
score[0]=50;
score[1]=60;
score[2]=70;
//数组下标越界 score[3]=70; 只有三个座位 不能做4个乘客
System.out.println("下标为1的数组元素:"+score[1]);
}
@Test
public void test02(){
//01.声明数组的同时开辟了空间 创建车厢的同时 也创建了座位
int [] score=new int[3];
//02.赋值 乘客入座
score[0]=50;
score[1]=60;
score[2]=70;
System.out.println("下标为1的数组元素:"+score[1]);
}
@Test
public void test03(){
/**
* 声明数组的同时开辟了空间 而且还赋值 这时候不能声明长度
* 创建车厢的同时 也创建了座位
*/
int [] score=new int[]{50,60,70};
System.out.println("下标为1的数组元素:"+score[1]);
}
@Test
public void test04(){
/**
* 声明数组的同时开辟了空间 而且还赋值 这时候不能声明长度
* 创建车厢的同时 也创建了座位
*/
int [] score={50,60,70};
//获取数组的长度
int length = score.length;
System.out.println("数组的长度是:"+length);
//循环打印出数组中的元素值
for (int i =0; i <length; i++) {
System.out.println(score[i]);
}
}

//数据类型 [] 数组名=new 数据类型[大小];
@Test
public void test05(){
int [] score=new int[5];
//给下标为4的元素赋值
score[4]=5;
for (int i = 0; i < score.length; i++) {
System.out.println(score[i]);
}
}
@Test
public void test06(){
// null 我们称之为 空值 "" 空串
String [] score=new String[5];
for (int i = 0; i < score.length; i++) {
System.out.println(score[i]);
}
}




/**
* 需要手动输入 5门课程的成绩
* 并且计算平均分!
*/
@Test
public void test07(){
//定义一个长度为5的数组 数组的数据类型 应该是double
double scores[]=new double[5];
//定义一个变量保存总分数
double sum=0;
Scanner scanner=new Scanner(System.in);
//循环让用户输入
for (int i = 0; i < scores.length; i++) {
System.out.println("请您输入第"+(i+1)+"门成绩:");
scores[i]=scanner.nextDouble();
//加入总分
sum+=scores[i];
}

//for循环遍历数组中元素
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
System.out.println("*******************************");
/**
* 使用for增强 来遍历
* double:需要遍历集合的数据类型
* i:需要输出的变量名
* :scores 需要遍历集合名称
*/
for(double i:scores){
System.out.println(i);
}
System.out.println("平均分是:"+(sum/scores.length));
}




@Test //常见的错误
public void test08(){
/**
01. 编译报错
int [] nums=new int[5];
nums={4,5,6,7,8};

02. 编译报错
int [] nums=new int[5]{4,5,6,7,8};

03.编译报错
int [] nums;
nums={4,5,6,7,8};
*/

}

 六、数组的几个课堂练习Demo:

1、老师代码:

/**
* 有一个数列:8,4,2,1,23,344,12
循环输出数列的值
求数列中所有数值的和
猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

*/
@Test
public void test09(){
//创建数组
int [] nums={8,4,2,1,23,344,12};
//01.遍历数组中元素
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i]+",");
}
System.out.println("*******************");
//02.遍历数组中元素
for (int i : nums) {
System.out.print(i+",");
}

}
@Test
public void test10(){
//创建数组
int [] nums={8,4,2,1,23,344,12};
//获取用户的输入
Scanner scanner=new Scanner(System.in);
System.out.println("请您输入一个数字:");
int num = scanner.nextInt();
//定义一个标记
boolean flag=false;
//循环比较用户输入的数字 是否存在数组中
for (int i=0;i<nums.length;i++) {
if (num==nums[i]) { //找到了 跳出 循环
flag=true;
break;
}
}
/**
* 判断标记
* if (flag) 相当于 if(flag==true)
*/
if (flag) {
System.out.println("找到了....");
}else {
System.out.println("没有找到");
}
}
@Test
public void test11(){
//创建数组
int [] nums={8,4,2,1,23,344,12};
//获取用户的输入
Scanner scanner=new Scanner(System.in);
System.out.println("请您输入一个数字:");
int num = scanner.nextInt();
//先把数组 升序排列
Arrays.sort(nums);
//使用数组的操作类 来判断数字是否存在数组中
int flag=Arrays.binarySearch(nums, num);

if (flag>=0) {
System.out.println("找到了....");
}else {
System.out.println("没有找到");
}


}

2、自己代码:

1)Demo02

需求:

①老师代码:

 

②自己代码:

package cn.bdqn.test;

/**
* 有一个数列:32,23,13,7,21
* 循环输出数列的值
* 求数列中所有数值的和
* 猜数游戏:从键盘中任意输入一个数据
* 判断数列中是否包含此数,包含即中奖
*/

import java.util.Scanner;

public class ArrayDemo02 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] nums = { 32, 23, 13, 7, 21 };
int sum = 0;

for (int i = 0; i < nums.length; i++) {
// 循环输出数字
System.out.println(nums[i]);
sum += nums[i];
}
// 输出数字和
System.out.println("数列中所有数字的和:" + sum);
// 猜数游戏
boolean flag = false;// 定义是否中奖,中奖为true,没中奖为false
System.out.println("请输入一个数字:");
int num = input.nextInt();
for (int i = 0; i < nums.length; i++) {
if (num == nums[i]) {
flag = true;
break;
}
}
// 判断是否中奖后输出结果
if (flag) {
System.out.println("恭喜您中奖了!");
} else {
System.out.println("数列中无此数,下次再来!");
}
}
}

2)Demo03

 需求:

①自己代码:

package cn.bdqn.test;

//以表格形式输出5笔购物金额及总金额
import java.util.Scanner;

public class ArrayDemo03 {
public static void main(String[] args) {

Scanner input = new Scanner(System.in);
double[] pays = new double[5];// 声明数组并定义数组长度为5
double sum = 0;// 记录总金额
// 循环输入会员本月的消费记录(共计5笔)
System.out.println("请输入会员本月的消费记录");
for (int i = 0; i < pays.length; i++) {
System.out.println("请输入第" + (i + 1) + "笔购物金额:");
pays[i] = input.nextDouble();
sum += pays[i];
}
// 循环输出每笔购物金额和总金额(序号、金额(元))
System.out.println(" 序号 金额(元)");
for (int i = 0; i < pays.length; i++) {
System.out.println((i + 1) + " " + pays[i]);
}
System.out.println("总金额 " + sum);

}
}

七、作业

1、看视频(尽量多看)

2、写吃货联盟

八、考试

2017.03.08
15:02开始,15:22结束;答题时间:20分钟;检查时间:0分钟;
成绩:94分

九、老师辛苦了!

原文地址:https://www.cnblogs.com/wsnedved2017/p/6519475.html