敲代码的一天
大家好呀,又是新的一天。
今天主要复习一下StringBuilder这个类,主要学习它的append()这个方法,以及reverse()方法,并且也要熟悉运用String类与它之间的相互转换。
1.append()方法,以及StringBuilder类里的toString()方法。
package FuXi03;
/*
这是一个拼接字符串的升级版,学习了一个新的类StringBuilder类。
需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,使用该方法并在控制台上输出结果
*/
public class Demo1 {
public static void main(String[] args) {
//首先定义一个int类型的数组
int[] arr={1,2,3};
//调用方法
String result=func(arr);
System.out.println(result);
}
//定义一个方法。两个明确:参数int数组arr,返回值String
public static String func(int[] arr){
//我们今天学习了一个新类,先创建一个StringBuilder对象
StringBuilder sb=new StringBuilder();
//调用append()方法
sb.append("[");
//我们需要将数组中的所有元素都输进去,就要写一个循环
for(int i=0; i<arr.length;i++){
if(i==arr.length-1){
sb.append(arr[i]);
}else{
sb.append(arr[i]).append(",");
}
}
sb.append("]");
String s=sb.toString() ;
return s;
}
}
2.这里需要注意的点是一定要将键盘录入的字符串s在创建StringBuilder类的对象时就调用它的有参构造将s传进去。
package FuXi03;
import java.util.Scanner;
/*
定义一个方法实现字符串的反转,键盘录入字符串。
*/
public class Demo2 {
public static void main(String[] args) {
//创建Scanner对象
Scanner sc=new Scanner(System.in);
//给出一个提示
System.out.println("请输入一个字符串:");
String s=sc.nextLine();
String result=func(s);
System.out.println(result);
}
//定义一个方法。两个明确,参数类型String,返回值String
public static String func(String s){
//要使用StringBuilder类的对象必须要先创建一个对象
StringBuilder sb=new StringBuilder(s ) ;//切记要将参数s传进去。
sb.reverse();
String b=sb.toString() ;
return b;
}
}
3.什么是集合?一种存储空间可变的存储模型。我们要学习它的许多方法。例如:add(),add( int index ,E element),remove(Object o),remove(int index),set(int index,E element),get(int index),size().
这个小练习,就很好的用了上述方法。
package FuXi03;
import java.util.ArrayList;
/*
创建一个存储字符串的集合,存储3个字符串,使用程序在控制台遍历该集合。
*/
public class Demo3 {
public static void main(String[] args) {
//首先创建集合对象
ArrayList<String> a=new ArrayList<String>();
//利用add()方法添加元素
a.add("王") ;
a.add("薛");
a.add("刘");
//利用for循环遍历
for(int i=0;i<a.size() ;i++){
String s = a.get(i);
System.out.println(s);
}
}
}
4.这个题一定要注意Student类一定要写好,要用Syudent对象接收arry.get(i).
package FuXi03;
import java.util.ArrayList;
/*
创建学生对象存储到集合中,存储三个学生对象,使用程序在控制台实现并遍历。
*/
public class Demo4 {
public static void main(String[] args) {
//首先创建一个学生类
//创建集合
ArrayList<Student> arry=new ArrayList<Student>();
//创建学生对象
Student s1=new Student("张三",20);
Student s2=new Student("李四",18);
Student s3=new Student("九九",25);
//添加学生对象
arry.add(s1);
arry.add(s2);
arry.add(s3);
//循环遍历输出该集合
for(int i=0;i< arry.size();i++){
Student s = arry.get(i);
System.out.println(s.getName()+","+s.getAge());
}
}
}
5.做一个上个练习的升级版,学生对象由键盘录入。
package FuXi03;
import java.util.ArrayList;
import java.util.Scanner;
/*
键盘录入学生对象
*/
public class Demo5 {
public static void main(String[] args) {
//创建学生类
//创建学生集合
ArrayList<Student> arry = new ArrayList<Student>();
//键盘录入学生对象的数据
Scanner sc = new Scanner(System.in);
//用循环来实现如何
for (int i = 0; i < 3; i++) {
System.out.println("请输入第" + (i + 1 )+ "个学生的姓名和年龄:");
String name = sc.nextLine();
String age = sc.nextLine();
//创建学生对象添加到集合中
Student si= new Student();
si.setName(name);
si.setAge(age);
arry.add(si);
}
//遍历集合
for(int i=0;i< arry.size();i++){
Student s = arry.get(i);
System.out.println(s.getName()+","+s.getAge());
}
}
}
学生管理系统
6.这个学生管理系统,学生类里的属性随便设置了一下。操作还是比较细的,我是个初学者,有些地方可能还不够完善,请多指教。
package FuXi03;
public class Student1 {
private String xuehao;
private String name;
private String jvzhudi;
public Student1() {
}
public Student1(String xuehao, String name, String jvzhudi) {
this.xuehao = xuehao;
this.name = name;
this.jvzhudi = jvzhudi;
}
public String getXuehao() {
return xuehao;
}
public void setXuehao(String xuehao) {
this.xuehao = xuehao;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getJvzhudi() {
return jvzhudi;
}
public void setJvzhudi(String jvzhudi) {
this.jvzhudi = jvzhudi;
}
}
package FuXi03;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Scanner;
/*
这是一个学生管理系统的主界面
*/
public class ZhuJieMian {
public static void main(String[] args) {
//创建集合
ArrayList<Student1 > array=new ArrayList<Student1>() ;
while(true) {
System.out.println("--------欢迎来到学生管理系统--------");
System.out.println("1.添加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查看所有学生");
System.out.println("5.退出");
//键盘录入数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的选择:");
int number = sc.nextInt();
//利用switch选择调用方法
switch (number) {
case 1:
addStudent( array ) ;
break;
case 2:
removeStudent(array);
break;
case 3:
updateStudent(array) ;
break;
case 4:
lookStudent(array) ;
break;
case 5:
System.out.println("谢谢使用!");
System.exit(0);
}
}
}
public static void addStudent(ArrayList <Student1 >array){
System.out.println("请输入学生信息");
//键盘录入学生数据
Scanner sc = new Scanner(System.in);
String xuehao;
while (true) {
System.out.println("请输入学生学号:");
xuehao = sc.nextLine();
boolean t = repeatStudent(array, xuehao);
if (t) {
System.out.println("你输入的学号重复,请核对后下输入");
}else{
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生居住地:");
String jvzhudi = sc.nextLine();
Student1 s = new Student1();
s.setXuehao(xuehao);
s.setName(name);
s.setJvzhudi(jvzhudi);
array.add(s);
System.out.println("添加学生信息成功!");
}
public static void removeStudent(ArrayList<Student1 > array) {
Scanner sc = new Scanner(System.in);
if(array.size()==0){
System.out.println("请添加学生后再操作");
}else{
System.out.println("请输入你要删除的学生学号:");
String xuehao = sc.nextLine();
//循环遍历找出对应学号
for (int i = 0; i < array.size(); i++) {
Student1 s = array.get(i);
if (s.getXuehao().equals(xuehao)) {
array.remove(i);
System.out.println("删除成功!");
break;
} else {
System.out.println("你输入的学号不存在,请核对后再输入");
break;
}
}
}
}
public static void updateStudent(ArrayList<Student1 > array){
Scanner sc=new Scanner(System.in);
if(array.size() ==0){
System.out.println("请添加学生后再操作");
} else {
System.out.println("请输入你要修改的学生学号:");
String xuehao = sc.nextLine();
for(int i=0;i<array.size() ;i++) {
Student1 s=array.get(i) ;
if (s.getXuehao() .equals(xuehao) ){
System.out.println("请输入新学号:");
String xinxuehao = sc.nextLine();
System.out.println("请输入新姓名:");
String xinname = sc.nextLine();
System.out.println("请输入新的居住地:");
String xinjvzhudi = sc.nextLine();
s.setXuehao(xinxuehao);
s.setName(xinname);
s.setJvzhudi(xinjvzhudi);
System.out.println("修改成功!");
}else{
System.out.println("你输入的学号不存在,请核对后再输入");
break;
}
}
}
}
public static void lookStudent(ArrayList<Student1 > array){
if(array.size() ==0){
System.out.println("请添加学生后再操作");
}else {
System.out.println("学号\t\t" + "姓名\t\t" + "居住地\t\t");
for (int i = 0; i < array.size(); i++) {
Student1 s = array.get(i);
System.out.println(s.getXuehao() + "\t\t" + s.getName() + "\t\t" + s.getJvzhudi() + "\t\t");
}
}
}
public static boolean repeatStudent(ArrayList<Student1 > array,String xuehao){
boolean t=false;
for(int i=0;i<array.size() ;i++){
Student1 s=array.get(i) ;
if(s.getXuehao().equals(xuehao)){
t=true;
break;
}
}
return t;
}
}
okk明天继续加油!!