首页 > 其他分享 >if ,else if 代表二选1;否则都执行

if ,else if 代表二选1;否则都执行

时间:2023-03-15 23:46:42浏览次数:33  
标签:count arr 否则 System else scid Student 二选 arr2

package com.fqs.demo1;

 

import java.util.Scanner;

 

public class StudentTest {

public static void main(String[] args) {

// 1.定义一个数组arr 存放4个学生信息

Student[] arr = new Student[4];

 

// 2.给4个数组赋初值

Student s0 = new Student("stu000", "s0", 18);

Student s1 = new Student("stu001", "s1", 19);

Student s2 = new Student("stu002", "s2", 20);

Student s3 = new Student();

arr[0] = s0;

arr[1] = s1;

arr[2] = s2;

arr[3] = s3;

 

// 3.从键盘获取第4个学生的信息

Scanner sc = new Scanner(System.in);

// 请输入学生id

System.out.println("请输入学生id");

String scid = sc.next();

// 4.判断第4个学生的id是否唯一

boolean flag = true;

flag = isFind(arr, scid);

while (flag == true) {

// 如果有重复的,再次输入

// 请输入学生id

System.out.println("请再次输入学生id");

scid = sc.next();

flag = isFind(arr, scid);

// 没有重复的则 跳出循环

if (flag == false) {

break;

}

}

if (flag == false) {

//初始化等于空的次数为0 才能在外面打印

int count=0;

//新的数组arr2的长度大于arr,多一个长度

Student []arr2=new Student[arr.length+1];

 

//如果有3个不等于null,说明剩余1个空,说明有空位,直接填写

if(getCount(arr)<arr.length) {

System.out.println("将scid赋值给arr[3]");

arr[getCount(arr)].setId(scid);

}

//如果次数等于4说明已经满了,需要新的数组

else if(getCount(arr)==arr.length) {

 

 

//赋值arr内的元素到arr2

arr2=arr;

System.out.println("数组已满,将scid赋值给arr[4]");

arr2[count].setId(scid);

 

//6.打印arr2数组内全部的值

for (int i = 0; i < arr2.length; i++) {

Student s = arr2[i];

System.out.println(s.getId() + " " + s.getName() + " " + s.getAge());

}

}

 

}

// 5.打印arr数组内全部的值

for (int i = 0; i < arr.length; i++) {

Student s = arr[i];

System.out.println(s.getId() + " " + s.getName() + " " + s.getAge());

}

 

 

 

 

}// 结束main方法

// 1.我要干什么 获取这个scid是否在数组内已存在isFind 存在true 不存在 false

// 2.我需要根据什么来判断 输入arr scid

// 3.我需要获得什么 return true;return false

 

public static boolean isFind(Student[] arr, String scid) {

// 如果找到,返回真

for (int i = 0; i < arr.length; i++) {

if (arr[i].getId() != null && arr[i].getId().equals(scid)) {

return true;

}

 

} // 结束for循环

return false;

}// 结束isFind方法

 

// 1.我要干什么 获取数组满了吗 数组内的元素==空 说明不满 计数一次

// 2.我需要根据什么来判断 传入数组

// 3.我需要获得什么 计数=0说明满了 不等于0 说明没有满

//不满的次数count

 

public static int getCount(Student[]arr) {

int count=0;

for(int i=0;i<arr.length;i++) {

if (arr[i].getId()!=null) {

count++;

}

 

}//结束for循环

System.out.println("count:"+count);

return count;

 

 

}//结束getCount方法

 

 

 

 

 

}

 

标签:count,arr,否则,System,else,scid,Student,二选,arr2
From: https://www.cnblogs.com/haha1988/p/17220688.html

相关文章

  • 微信小程序管理软件:提高小程序效率和用户体验的不二选择
    随着移动互联网和智能终端的普及,微信小程序已经成为越来越多企业和品牌开展业务的重要应用。微信小程序的用户体验好、使用便捷、功能丰富等特点,为企业带来了更多的商业机......
  • Java 分支结构——if-else(一)
    基本语法结构1:单分支条件判断:if格式:if(条件表达式){语句块;}说明:条件表达式必须是布尔表达式(关系表达式或逻辑表达式)或布尔变量。执行流程:首先判断条件表......
  • SQL2008R2 截断日志否则无法收缩数据库
    USE[master]GOALTERDATABASEFE_BASE5SETRECOVERYSIMPLEWITHNO_WAITGOALTERDATABASEFE_BASE5SETRECOVERYSIMPLEGOUSEFE_BASE5GODBCCSHRINKFILE(N'FE......
  • Python - else 语法总结
    else使用汇总。问题阅读别人代码,有点疑惑,精简后如下:defcode_example(arg=None):foriinrange(5):ifarg:breakelse:pr......
  • if else与策略模式
    1、前言学习策略模式,对于大量的ifelse逻辑可以进行替换,使代码变得更加优雅简洁。2、编写①传统ifelse使用ifelse对arg进行判断,对于不同的判断进行不同的逻辑操作;pu......
  • C++ 性能反向优化——用哈希表消除if else导致的性能降低。
    从代码整洁的角度考虑,对于不同的值将调用相同参数的不同函数,我们通常可以通过建立从值到对应函数指针的哈希表,从而将ifelse消除。但实际可能使性能更低,以下是测试例子。......
  • C# 条件语句(If else)
    C#条件语句(Ifelse)C#if条件语句是通过一条或多条语句的执行结果(true或者false)来决定执行的代码块。本文主要介绍一下C#中条件语句(Ifelse)的使用。 ......
  • 关于如何解决循环中重复触发else
    关于如何解决循环中重复触发else 在学习中遇到了一种问题,就是有些需要循环条件+if条件完成的方法(如登录判断等)。例子://登录方法当时想法很简单,判断:如果账号和密码都......
  • python 循环结构 else分支结构 循环正常结束时执行
    """for...else...while...else...当循环正常结束时,会执行else分支中内容当循环被break结束时,不执行else分支内容"""#输出1到10foriinrange(1,10):print(i)ifi......
  • 模型类序列化器、ModelSerializer用法、exclude排除某个字段用法、extra_kwargs中用wr
    1.序列表表所有字段返回结果:   2.url:   3.序列化表和表里的所有字段:   4.views代码:   5.序列化表中的指定字段:   6.exclude......