首页 > 编程语言 >java

java

时间:2024-08-17 14:37:25浏览次数:7  
标签:java String int System println public out

8.11
(1)学生管理系统菜单搭建
代码示例:
import java.util.Scanner;
public class StudentSystem {
public static void main(String[] args) {
loop: 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:退出");
System.out.println("请输入您的选择:");
Scanner sc =new Scanner(System.in);
String choose=sc.next();
switch (choose) {
case "1" -> addStudent() ;
case "2" -> deleteStudent();
case "3" -> updateStudent();
case "4" -> queryStudent();
case "5" -> {
System.out.println("退出");
break loop;
}
default -> System.out.println("没有这个选项");
}
}
}
public static void addStudent(){
System.out.println("添加学生");
}
public static void deleteStudent(){
System.out.println("删除学生");
}
public static void updateStudent(){
System.out.println("修改学生");
}
public static void queryStudent(){
System.out.println("查询学生");
}
}

javabean:public class Student {
private String id;
private String name;
private int age;
private String address;

public Student(){
}

public Student(String id, String name, int age, String address) {
	this.id = id;
	this.name = name;
	this.age = age;
	this.address = address;
}

public String getId() {
	return id;
}

public void setId(String id) {
	this.id = id;
}

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;
}

public String getAddress() {
	return address;
}

public void setAddress(String address) {
	this.address = address;
}

}
8.12
(1)学生管理系统(添加功能)
方法代码:
public static void addStudent(ArrayList list){
Student s=new Student();
Scanner sc=new Scanner(System.in);
String id=null;
while (true) {
System.out.println("请输入学生id");
id = sc.next();
Boolean flag=contains(list, id);
if(flag) {
System.out.println("该id已经存在,请重新输入");
}else {
s.setId(id);
break;
}
}
System.out.println("请输入学生姓名");
String name=sc.next();
s.setName(name);
System.out.println("请输入学生年龄");
int age=sc.nextInt();
s.setAge(age);
System.out.println("请输入学生家庭住址");
String address=sc.next();
s.setAddress(address);
list.add(s);
System.out.println("添加成功");
}
public static boolean contains(ArrayList list,String id) { //该方法比较id是否相同
for(int i=0;i<list.size();i++) {
Student student=list.get(i);
String sid=student.getId();
if(sid.equals(id)) {
return true;
}
}
return false;
}
(2)删除功能
方法代码:
public static void deleteStudent(ArrayList list){
System.out.println("请输入要删除的学生id");
Scanner sc=new Scanner(System.in);
String id=sc.next();
int index=getIndex(list, id);
if(index>=0) {
list.remove(index);
System.out.println("删除成功");
}else {
System.out.println("id不存在");
}
}
public static int getIndex(ArrayList list,String id) {
for (int i = 0;i<list.size() ; i++) {
Student stu=list.get(i); //得到学生对象
String sid=stu.getId(); //得到id
if(sid.equals(id)) { //进行比较
return i;
}
}
return -1;
}
8.13
(1)学生管理系统(修改学生)
方法代码:
public static void updateStudent(ArrayList list){
System.out.println("请输入要修改学生的id");
Scanner sc=new Scanner(System.in);
String id=sc.next();
int index=getIndex(list, id);
if(index==-1) {
System.out.println("要修改的id"+id+"不存在,请重新输入");
return;
}
Student stu=list.get(index);

	System.out.println("请输入学生姓名");
	String newname=sc.next();
	stu.setName(newname);
	
	System.out.println("请输入学生年龄");
	int newage=sc.nextInt();
	stu.setAge(newage);
	
	System.out.println("请输入学生地址");
	String newaddress=sc.next();
	stu.setAddress(newaddress);
	
	System.out.println("修改成功");
}

(2)查询功能
方法代码:
public static void queryStudent(ArrayList list){
if(list.size()0) {
System.out.println("当前无学生信息");
return;
}
System.out.println("id\t\t姓名\t年龄\t家庭住址");
for (int i = 0; i < list.size(); i++) {
Student stu=list.get(i);
System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
}
}
8.14
(1)查找算法:基本查找
代码示例:
import java.util.Scanner;
public class Suanfa {
public static void main(String[] args) {
int[] arr= {114,514,1919,810};
System.out.println("请输入要查找的数");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
System.out.println(search(arr, num));
}
public static boolean search(int[] arr,int num) {
for (int i = 0; i < arr.length; i++) {
if(arr[i]
num) {
return true;
}
}
return false;
}
}
(2)二分(折半)查找
前提:数组中的数据必须是有序的
代码示例:
//查找数在第几个
import java.util.Scanner;
public class Zheban {
public static void main(String[] args) {
int[] arr= {1,4,5,8,9,11};
System.out.println("请输入要查找的数");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
System.out.println(search(arr, num)+1);
}
public static int search(int[] arr,int num) {
int min=0;
int max=arr.length-1;
while(true) {
if(max<min) {
return -1;
}
int mid=(min+max)/2;
if(arr[mid]>num) {
max=mid-1;
}else if(arr[mid]<num){
min=min+1;
}else {
return mid;
}
}
}
}
8.15
(1)冒泡排序
代码示例:
public class Maopao {
public static void main(String[] args) {
int[] arr= {11,45,14,191,9,810};
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]) {
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}
8.16
(1)Arrays
操作数组的工具类
方法:
public static String toString(数组) 把数组拼接成一个字符串
public static int binarySearch(数组,查找的元素) 二分查找元素
public static int[] copyOf(原数组,新数组长度) 拷贝数组
public static int[] copyOfRange(原数组,起始索引,结束索引) 拷贝数组(指定范围)
public static void fill(数组,元素) 填充数组
public static void sort(数组) 按照默认方式进行数组排序
public static void sort(数组,排序规则) 按照指定规则排序

注:二分查找时,如果查找的元素是存在的,返回值是真实的索引,如果是不存在的,返回是负插入点-1
代码示例:
8.17
(1)五位随机验证码
代码示例:
import java.util.Random;

public class Test {
public static void main(String[] args) {
char[] chs=new char[52];
for (int i = 0; i < chs.length; i++) {
if(i<=25) {
chs[i]=(char)(97+i);
}else {
chs[i]=(char)(65+i-26);
}
}
String result="";
Random r=new Random();
for (int i = 0; i < 4; i++) {
int randomIndex=r.nextInt(chs.length);
result=result+chs[randomIndex];
}
int number=r.nextInt(10);
result=result+number;
System.out.println(result);
}
}

标签:java,String,int,System,println,public,out
From: https://www.cnblogs.com/WMKQF/p/18357411

相关文章

  • Java后端面试题(mq相关)(day9)
    目录为什么用MQ?异步、削峰、解耦1.异步处理2.解耦3.削峰填谷Exchange类型什么是死信队列?如何保证消息的可靠性?RabbitMQ中如何解决消息堆积问题?RabbitMQ中如何保证消息有序性?如何防止消息重复消费?(如何保证消息幂等性)为什么用MQ?异步、削峰、解耦MQ(Message......
  • Java中的图算法:如何实现高效的最短路径计算
    Java中的图算法:如何实现高效的最短路径计算大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!作为开头。最短路径算法是图论中的一个核心问题,广泛应用于网络路由、地图导航等领域。在Java中实现高效的最短路径计算通常涉及到Dijkstra算法和Floy......
  • 点亮职场之路,从优化简历开始 —— 专业Java简历优化服务,助您脱颖而出
    手机或电脑浏览器就可以打开,面霸宝典【全拼音】.com这里可以优化简历,模拟面试,企业项目源码,最新最全大厂高并发面试题,项目场景题,算法题,底层原理题在Java技术的浩瀚星海中,每一位求职者都是独特的星辰,但如何让自己在众多候选人中熠熠生辉,成为企业争抢的“宝藏”?答案,就藏在......
  • Java简历优化专家 —— 打造您的职业名片,引领梦想职位之旅
    手机或电脑浏览器就可以打开,面霸宝典【全拼音】.com这里可以优化简历,模拟面试,企业项目源码,最新最全大厂高并发面试题,项目场景题,算法题,底层原理题在Java编程的征途上,每一步都至关重要。而一份精心优化的简历,正是您迈向理想职位的第一步。我们深知,每一位Java求职者都渴望......
  • 面试题:在Java中,JVM(Java虚拟机)的内存模型是如何设计的?请详细解释堆(Heap)、栈(Stack)、方法
    面试题:在Java中,JVM(Java虚拟机)的内存模型是如何设计的?请详细解释堆(Heap)、栈(Stack)、方法区(MethodArea)以及程序计数器(ProgramCounterRegister)的作用和它们之间的关系。更多答案在这里,手机或电脑浏览器就可以打开,面霸宝典【全拼音】.com这里可以优化简历,模拟面试,企业项......
  • 面试题:在Java中,线程之间的通信主要通过哪几种方式实现?并简述其中一种方式的基本工作原
    面试题:在Java中,线程之间的通信主要通过哪几种方式实现?并简述其中一种方式的基本工作原理。请注意,除了直接回答此问题外,我们还为您准备了更多深入的学习资源和面试技巧。想要了解更多关于Java线程通信、优化简历、模拟面试、企业项目源码、大厂高并发面试题、项目场景题、算法......
  • 面试题:在Java中,多线程编程是常见的并发处理方式。请简述Java中实现多线程的几种主要方
    面试题:在Java中,多线程编程是常见的并发处理方式。请简述Java中实现多线程的几种主要方式,并解释每种方式的基本思想。更多关于多线程编程的深入解析、面试技巧、以及实战项目源码,手机浏览器即可访问面霸宝典【全拼音】.com,这里不仅可以优化你的简历,还能进行模拟面试,获取最新最......
  • 【Java求职者的福音:专业简历优化服务,助力梦想启航】
    手机或电脑浏览器就可以打开,面霸宝典【全拼音】.com这里可以优化简历,模拟面试,企业项目源码,最新最全大厂高并发面试题,项目场景题,算法题,底层原理题在Java技术的浩瀚星海中,您是那颗璀璨的新星,正蓄势待发,准备在职场上绽放光芒。但在这个充满机遇与挑战的时代,如何让您的简历......
  • 面试题:在Java中,volatile 关键字的作用是什么?它与 synchronized 关键字在实现线程同步
    面试题:在Java中,volatile 关键字的作用是什么?它与 synchronized 关键字在实现线程同步方面有何不同?请深入探讨其背后的原理和应用场景。更多答案在这里,手机或电脑浏览器就可以打开, 面霸宝典【全 拼音】.com 这里可以优化简历,模拟面试,企业项目源码,最新最全大厂高并......
  • 【Java求职者的职场加速器:专业简历优化服务,助您脱颖而出】
    手机或电脑浏览器就可以打开,面霸宝典【全拼音】.com这里可以优化简历,模拟面试,企业项目源码,最新最全大厂高并发面试题,项目场景题,算法题,底层原理题在Java编程的征途上,您已积累了丰富的技术经验和项目成果,但面对激烈的职场竞争,如何让自己的简历在众多求职者中脱颖而出,成为......