1.定义一个布尔型的标志来判断是否运行berak;continue;从而判断程序是否执行
package date0221;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
/*
循环录入5个人的年龄,
并计算平均年龄,
如果录入的数据出现负数
或者大于130的数,
立即停止输出报错
*/
Scanner sc = new Scanner(System.in);
//sum用于接收年龄总和
int sum = 0;
int a = 0;
//定义一个布尔型变量判断变化
boolean flag = true;
//循环输入5个年龄
System.out.println("请输入5个年龄");
for( int i=1;i<=5;i++){
int nl = sc.nextInt();
//遇到不符合实际情况的年龄终止循环并提示错误
if(nl<0||nl>130){
flag = false;
System.out.println("输入年龄有错");
break;
}else{
sum = sum+nl;
}
}
//将平均年龄赋值为double类型保证精确度
if(flag==true){
double pjnl = (double)sum/5;
System.out.println("5个人平均年龄为"+pjnl);
}
}
}
2.循环中记录不同情况的个数
package date0221;
import java.util.Scanner;
public class ZuoYe3 {
public static void main(String[] args) {
/*
* 输入数量不确定的正数和负数(一次输入一个),然后打印整数和负数的个数,当输入0时,程序停止
*/
Scanner sc = new Scanner(System.in);
//定义两个变量记录正数和负数的个数
int sum1 = 0;
int sum2 = 0;
//死循环使没有break的情况下一直输入数字
for (int i = 0; i < 1; i--) {
System.out.println("请输入一个数字");
int j = sc.nextInt();
//if判断输入的数字
if (j > 0) {
int a = 0;
sum1++;
System.out.println("整数个数有" + sum1+ "个");
System.out.println("负数个数有" + sum2+ "个");
} else if (j < 0) {
int c = 0;
sum2++;
System.out.println("整数个数有" + sum1+ "个");
System.out.println("负数个数有" + sum2+ "个");
} else {
System.out.println("程序停止");
break;
}
}
}
}
3.用户名及密码的校验
package date0221;
import java.util.Scanner;
public class ZuoYe6 {
public static void main(String[] args) {
/* 要求用户输入用户名和密码,
* 只要不是admin和111就提示用户名或密码不正确,
* 请重新输入。正确时结束循环,提示登陆成功
*/
Scanner sc = new Scanner(System.in);
//定义一个标志
boolean flge = true;
do{
System.out.println("请输入用户名");
String name = sc.nextLine();
System.out.println("请输入密码");
String mima = sc.nextLine();
//if校验用户名和密码
if(name.equals("admin")&&mima.equals("111")){
flge = false;
System.out.println("登录成功");
break;
}else{
System.out.println("用户名或密码有误请重新输入");
}
}while(flge);
}
}
不知道要循环几次的时候,最好用while或者do-while,不用for的死循环
4.打印九九乘法表
package date0221;
public classZuoYe8 {
publicstaticvoidmain(String[] args) {
// 编写Java程序,在控制台上打印出九九乘法表
// 第一种
System.out.println("第一种");
for(inta = 1; a<= 9; a++) {
for(intb = 1; b<= 9; b++) {
System.out.print(a + "×"+ b + "="+ a * b);
// 添加制表符保证格式工整
System.out.print("\t");
}
// 换行
System.out.println("");
}
System.out.println("第二种");
for(inta = 1; a<= 9; a++) {
for(intb = 1; b<= a; b++){
System.out.print(a + "×"+ b + "="+ a * b);
// 添加制表符保证格式工整
System.out.print("\t");
}
// 换行
System.out.println("");
}
}
}
5.字符串和数字的综合判断
package date0221;
import java.util.Scanner;
public classZuoYe9 {
publicstaticvoidmain(String[] args) {
/*
* 不断要求用户输入一个数字(假定用户输入的数字都是正整数),
* 当用户输入end的时候显示刚才输入数字中的最大值。
*/
//max用来存贮最大的值
intmax = 0;
Scanner sc = new Scanner(System.in);
do{
System.out.println("请输入一个整数或者end");
// 整数和end属于不同的类型,所以此处写成String型,再进行字符串的转换
String j = sc.nextLine();
if(!j.equals("end")){
// 字符串转换为数字
intk = Integer.parseInt(j);
// 获取最大值
if(k >= max){
max = k;
}
} else{
System.out.println("最大值为" + max);
break;
}
}while(true);
}
}
6.判断质数
package date0221;
import java.util.Scanner;
public classZuoYe10 {
publicstaticvoidmain(String[] args) {
// 输入一个整数,判断这个数字是不是质数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
inta = sc.nextInt();
booleanflag=false;
// 判断特殊情况
if(a < 2) {
System.out.println(a + "不是质数");
} else{
for (int i= 2; i <=a;i++) {
if(a % i ==0&&a!=i){
flag = false;
break;
} else{
flag = true;
break;
}
}
if(flag == true) {
System.out.println(a + "是质数");
} else{
System.out.println(a + "不是质数");
}
}
}
}
7.打印一定范围内的质数
package date0221;
public classZuoYe11 {
publicstaticvoidmain(String[] args) {
/*
* 打印出100以内的质数,一行显示5个,(质数是只能被1跟自身整除的数,1不是质数)
*/
intj;
intx = 0;
// 1不是素数,所以直接从2开始循环
for(inti = 2; i<= 100; i++) {
j = 2;
// 测试2至i的数字是否能被i整除,如不能就自加
while(i % j !=0) {
j++;
}
// 当有被整除的数字时,如果是他自身那这个数就是质数
if(j == i){
System.out.print(i);
System.out.print("\t");
x++;
// 设置一行显示五个
if(x % 5 == 0) {
System.out.println();
}
}
}
}
}