1、评委打分
package com.zcl.Demo2;
import java.util.Scanner;
public class Demo5 {
/*
需求:
根据6为评委输入的值,存放到数组之中,求出最大值、最小值、数组的和、还有平均分
分析:
- 根据评委输入的分数放到数组里面去,要判断输入的分数是否在0-100之间
- 求出最大值,定义一个对比的变量,通过遍历与数组进行对比,如果对值小于数组值就重新赋值对比值,最后输出的对比值就是最大值
- 最小值反之
- 求和:通过定义一个num=0变量来获取,循环遍历去添加数组的值
- 求平均分:将获取到的(总和-最大值-最小值) / 4;得出
*/
public static void main(String[] args) {
// 键盘录入
Scanner sc = new Scanner(System.in);
// 定义长度为5的数组
int[] arr = new int[5];
// 键盘录入存入数组中
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第"+(i+1)+"个评委的评分");
int i1 = sc.nextInt();// 键盘录入
arr[i]=i1; // 分数赋值给数组
}
// 求最大值
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if(max<arr[i]){
max+=i;
}
}
System.out.println("分数最大值为:"+max);
// 求最小值
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if(min>arr[i]){
min+=i;
}
}
System.out.println("分数最小值为:"+min);
// 求和
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum+=arr[i];
}
System.out.println("评分求和值为:"+sum);
// 求平均数
int pj = (sum-max-min)/4;
System.out.println("评委给分的平均数为:"+pj);
}
}
2、反转一个整数
package com.zcl.Demo2;
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
/*
需求:
反转一个整数输出控制台
*/
Scanner sc = new Scanner(System.in);
// 键盘录入提示
System.out.println("请输入一个您要反转的整数:");
int sum = sc.nextInt();
int a = 0;
while (sum!=0){
a=a*10+sum%10;
sum=sum/10;
};
System.out.println(a);
}
}
2、封装一个方法反转一个字符串
package com.zcl.Demo2;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
/*
需求:
封装一个方法,返回键盘录入的整数
分析:
声明一个变量
封装方法,返回String,接收String
遍历输入的长度
添加获取的元素添加到变量里面
*/
// 键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("键盘录入一个反转字符串:");
String i = sc.nextLine();
// 调用方法
String s = reverdr(i);
System.out.println(s);
}
// 定义方法,返回String,接收int
public static String reverdr(String s){
String sum = "";
for(int i = s.length()-1;i>=0;i--){
// 获得每一个字符串
sum+= s.charAt(i);
}
return sum;
}
}
3、切割字符串
1、封装方法·
package com.zcl.domain;
public class Student {
// 创建成员变量
private String name;
private String age;
// 创建空的构造方法
public Student(){
}
// 创建带参数的构造方法
public Student(String name, String age){
this.name = name;
this.age = age;
}
// 获取私有方法
public String getName(){
return name;
}
public String getAge(){
return age;
}
// 设置私有方法
public void setName(String name){
this.name = name;
}
public void setAge(String age){
this.age=age;
}
}
2、调用方法,切割字符串
package com.zcl.Demo2;
import com.zcl.domain.Student;
import java.util.Scanner;
public class Demo8 {
public static void main(String[] args) {
/*
切割字符串
需求:
以字符串的形式录入学生信息,例如:“张三,23”从该字符串中切割有效的数据
封装为String学生对象
思路:
填写Student类,用于封装数据
键盘录入一个字符串,用Scanner实现
根据逗号切割字符串,得到(张三)(23)
String[] split(String regex):根据传入的字符串作为规则进行切割
将切割后的内容存入到字符串数组中,并将字符串数组返回
从得到的字符串数组中取出元素内容,通过Student类的有参数构造方法封装为对象
调用对象getXxx方法,取出数据并打印
*/
// 键盘录入
Scanner s = new Scanner(System.in);
System.out.println("请输入学生信息:");
String s1 = s.nextLine(); // 张三,18
// 一,为切割点(逗号注意区分中英文状态),返回的是一个数组
String[] sArr = s1.split(",");
System.out.println(sArr[0]); // 张三
System.out.println(sArr[1]); // 18
// 调用Student构造方法
Student stud = new Student(sArr[0],sArr[1]);
// 调用方法的对象
System.out.println(stud.getName()+"...."+stud.getAge());// 张三....18
}
}
4、简单的登录实现
package com.zcl.Demo2;
import java.util.Scanner;
public class LoginDemo {
public static void main(String[] args) {
/*
需求:
给定账号密码字符串,根据键盘录入匹配是否登录成功,只有三次机会
思路:
字符串变量保存账号密码
循环判断三次机会
*/
Scanner sc = new Scanner(System.in);
// 定义字符串变量放账号和密码
String name = "admin";
String age = "admin123";
// 循环三次机会
for(int i = 0; i < 3;i++){
// 提示输入
System.out.println("请输入账户");
String users = sc.nextLine();
System.out.println("请输入密码");
String ages = sc.nextLine();
// 判断账号密码是否正确
if(name.equals(users)&&age.equals(ages)){
System.out.println("恭喜您登录成功!");
break;
}else {
if(2-i==0){
System.out.println("登录错误多次,账号已被锁定");
break;
}else {
System.out.println("登录失败,您还有"+(2-i)+"次机会");
}
}
}
}
}
5、键盘录入字母对大小写进行反转
package com.zcl.Demo3;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
/*
需求:
根据键盘录入的字母,对大小写进行反转操作(大写变小写,小写变大写)
思路:
键盘录入字符串,Scanner
创建一个StringBuffer对象(可变的字符串序列)
转换之后的字母使用append的方法添加到对象中
使用Character判断该类提供了几种方法来确定字符的类别(小写字母,数字等)以及将字符从大写转换为小写,反之亦然。
判断大写isUpperCase,返回的值为布尔
判断小写isLowerCase,返回布尔类型
toUpperCase使用UnicodeData文件中的大小写映射信息将字符参数转换为大写。
toLowerCase使用UnicodeData文件中的大小写映射信息将字符参数转换为小写。
*/
// 键盘录入字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入要反转的字母:");
String str = sc.nextLine();
// 创建StringBuffer对象
StringBuffer strB = new StringBuffer();
// 判断录入不为空时
if(str!=null){
// 循环字符串的长度
for(int i = 0; i<str.length();i++){
// 获取到字母转化字符型
char ch = str.charAt(i);
// 判断是大写还是小写
if(Character.isLowerCase(ch)){ // 判断小写
strB.append(Character.toUpperCase(ch));
}else if(Character.isUpperCase(ch)){ // 判断大写
strB.append(Character.toLowerCase(ch));
}
}
// 输出转换的结果
System.out.print(strB);
}
}
}