循环(二)for
1. 输入一个整数 ,要求格式如下:( 如输入数字6,for循环实现:)
0+6=6
1+5=6
2+4=6
3+3=6
4+2=6
5+1=6
6+0=6
package shangji;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
int number = input.nextInt();
for (int i = 0,j = number;i <= number;i++,j--){
System.out.println(i+"+"+j+"="+(i+j));
}
}
}
2. for循环跑圈10圈,但是跑到第8圈的时候那个同学因为体力不支瞬间倒地, 结束了跑圈
import java.util.Scanner;
//for循环跑圈10圈,但是跑到第8圈的时候那个同学因为体力不支瞬间倒地, 结束了跑圈
public class Shang_ji2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int j=0;
for (int i = 0; j<= 10; i++, j++) {
if (i==8){
break;
}
}System.out.println("第"+j+"圈倒下了");
}
}
3. for循环1+2+3+4+5...+10, 当加到哪个数字的时候总和已经超过20?
package Shangji;
/**
* @ClassName Plusquit
* @Description: TODAY
* @Author 罗 鹏
* @Date 2020/7/20
* @Version V1.0
**/
/**
* 上机作业3
* for循环1+2+3+4+5...+10,
* 当加到哪个数字的时候总和已经超过20?
*/
public class Plusquit {
public static void main(String[] args) {
int i = 1;
int sum = 0;
for (; i <= 10; i++) {
sum += i;
if (sum > 20) {
break;
}
}
System.out.println("当加到" + i + "的时候总和已经超过20.");
}
}
4. 利用for输入网银登录密码,次数只有3次机会, 卡号100100100100密码52Java52Java,效果如下
欢迎来到ATM机(输错三次锁卡):
请输入卡号:1001
请输入密码:1001
用户名或密码错误,你还有2次机会
请输入卡号:1001
请输入密码:1002
用户名或密码错误,你还有1次机会
请输入卡号:1001
请输入密码:1003
卡被锁
-----------------
欢迎来到ATM机(输错三次锁卡):
请输入卡号:1001
请输入密码:1001
用户名或密码错误,你还有2次机会
请输入卡号:100100100100
请输入密码:52Java52Java
欢迎来到主界面
-----------------
package teacher;
import java.util.Scanner;
/**
* @ClassName Test6ATM
* @Description: TODO
* @Author 汤永红
* @Date 2020/7/20 0020
* @Version V1.0
**/
public class Test6ATM {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String id = "100100100100";
String pwd = "52Java52Java";
System.out.println("欢迎来到ATM机(输错三次锁卡):");
for(int i=1;i<=3;i++) {
//先做一次的
System.out.print("请输入卡号:");
String vip = input.next();
System.out.print("请输入密码:");
String password = input.next();
if (!(id.equals(vip) && pwd.equals(password))) {
if(i!=3) {
System.out.println("用户名或密码错误,你还有" + (3 - i) + "次机会");
}else{
System.out.println("卡被锁");
}
} else {
System.out.println("欢迎来到主界面");
//跳出
break;
}
}
System.out.println("-----------------");
}
}
5.预测未来学费 5.8.2(书)
package Shangji;
/**
* @ClassName Futuretuition
* @Description: TODAY
* @Author 罗 鹏
* @Date 2020/7/20
* @Version V1.0
**/
/**上机作业5
* 预测未来学费,假设今年学费是17380元,
* 未来每年上涨10%。预估第几年学费将翻倍?
*/
public class Futuretuition {
public static void main(String[] args) {
double cost = 17380;
int year=1;//循环变量初始化
for (;cost<(17380*2);year++){//如果学费未翻倍,循环计算,循环变量加1
cost*=1.1;//学费上涨10%
}
System.out.println("如果每年上涨10%,预计在第"+year+"年后学费翻倍。");
}
}
6.将十进制转为十六进制5.8.3(书)
package student;
import java.util.Scanner;
//十进制转换为十六进制
//
public class Test08 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入一个需要转换为十六进制的数:");
int decimal = input.nextInt();
String hex = "";//初始化字符串
char c;//字符 10 - A
while (decimal != 0) {
int hexValue = decimal % 16;
if (hexValue <= 9 && hexValue >= 0) {
c = (char) (hexValue + '0');
} else {
c = (char) (hexValue - 10 + 'A');
}
hex = c + hex;
decimal = decimal / 16;
}
System.out.println(hex);
}
}
7.判断回文数5.10(书)
package home;
/**
* @ClassName Discount
* @Description: TODO
* @Author: 彭维新
* @Date 2020/7/16
* @Version V1.0
**/
//7.判断回文数5.10(书)
public class Plalindrome {
public static void main(String[] args) {
for (int i = 0; i < 10000; i++) {
int n = i, temp = 0;
while (n > 0) {
temp = temp * 10 + n % 10;
n /= 10;
}
if (temp == i) {
System.out.println(i);
}
}
}
}
8.显示素数5.11(书)
package home;
/**
* @ClassName Discount
* @Description: TODO
* @Author: 彭维新
* @Date 2020/7/16
* @Version V1.0
**/
//8.显示素数5.11(书)
public class Prime {
public static void main(String[] args) {
int j;
boolean flag;
for (int i = 2, s = 0; s < 50; i++) {
flag = true;
for (j = 2; j < i; j++) {
if (i % j == 0) {
flag = false;
break;
}
}
if (flag) {
System.out.println(i);
s++;
}
}
}
}
9、随机产生10组10以内的加法运算,并且让人输入答案,当全部做完后,输出对了几题,错了几题,并把答案输出。
package student;
import java.util.Random;
import java.util.Scanner;
public class Kehou4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int b = 1;
int d = 0;
int e = 0;
String msg = "";
for (; b <= 5; b++) {
Random r = new Random();
int pc = r.nextInt(10) + 1;
int pc1 = r.nextInt(10) + 1;
int a = pc + pc1;
System.out.println(pc + "+" + pc1 + "=?");
System.out.print("请输入你的答案:");
int c = input.nextInt();
if (c == a) {
d++;
msg += pc + "+" + pc1 + "=" + a + "\n";
} else {
e++;
msg += pc + "+" + pc1 + "=" + c + "正确:" + a + "\n";
}
}
System.out.println("对了" + d + "题,错了" + e + "题");
System.out.println(msg);
}
}
10.超纲题:输入一个字符串,统计有多少个大写字母,小写字母。
package Kehou;
/**
* @ClassName LetterCounting
* @Description: TODAY
* @Author 罗 鹏
* @Date 2020/7/20
* @Version V1.0
**/
import java.util.Scanner;
/**课后作业10
* 输入一个字符串,统计有多少个大写字母,小写字母。
*/
public class LetterCounting {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请任意输入一个包含大小写字母的字符串:");
String str=input.next();
int bigCount=0;
int smallCount=0;
for (int i=0;i<str.length();i++){
char chs=str.charAt(i);
if (chs>='A'&&chs<='Z'){
bigCount++;
}else if (chs>='a'&&chs<='z'){
smallCount++;
}else{
System.out.println("该字符"+chs+"非法。");
}
}
System.out.println("您输入的字符串包含"+bigCount+"个大写字母和"+smallCount+"个小写字母。");
}
}