If01.java
//if的快速入门 import java.util.Scanner; public class If01 { //编写一个main方法 public static void main(String[] args) { //编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁, //则输出“你年龄大于18岁,要对自己的行为负责,送入监狱” //思路分析 //1.接收输入的年龄,应该定义一个Scanner对象 Scanner myScanner = new Scanner(System.in); System.out.println("请输入年龄"); //2.把年龄保存到一个变量 int age int age = myScanner.nextInt(); //3.使用if 判断,输入对应信息 if(age > 18) { System.out.println("你年龄大于18岁,要对自己的行为负责,送入监狱"); } System.out.println("程序继续..."); } }
If02.java
//if-else的快速入门 import java.util.Scanner; public class If02 { public static void main(String[] args) { //编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁, //则输出“你年龄大于18岁,要对自己的行为负责,送入监狱”,否则输出“你的年龄不大放过你了” //思路分析 //1.接收输入的年龄,应该定义一个Scanner对象 Scanner myScanner = new Scanner(System.in); System.out.println("请输入年龄"); //2.把年龄保存到一个变量 int age int age = myScanner.nextInt(); //3.使用if-else 判断,输入对应信息 if(age > 18){ System.out.println("你年龄大于18岁,要对自己的行为负责,送入监狱"); }else{//双分支 System.out.println("你的年龄不大放过你了"); } } }
IfExercise01.java
//单分支和双分支的练习 import java.util.Scanner; public class IfExercise01 { public static void main(String[] args) { //编写程序,声明2个double型变量并赋值。 //判断第一个数大于10.0,且第2个数小于20.0,打印两数之和 double a = 11.12; double b = 18.23; if(a > 10.0 && b < 20.0){ System.out.println("两个数的和是" + (a + b)); } System.out.println("\n------------------------"); //定义两个变量int,判断两者的和,是否能被3又能被5整除,打印提示信息 int num1 = 10; int num2 = 5; int sum = num1 + num2; if(sum % 3 == 0 && sum % 5 == 0){ System.out.print("和能被3又能被5整除"); }else{ System.out.println("和不能被3也不能被5整除"); } System.out.println("\n------------------------"); //判断一个年份是否是闰年,闰年的条件是符合下面二者之一: //(1)年份能被4整除,但不能被100整除;(2)能被400整除 Scanner myScanner = new Scanner(System.in); System.out.println("请输入年份"); int year = myScanner.nextInt(); if((year % 4 ==0 && year % 100 != 0) || year % 400 == 0){ System.out.println(year + "年为闰年"); }else{ System.out.println(year + "年不是闰年"); } } }
If03.java
import java.util.Scanner; public class If03 { public static void main(String[] args){ Scanner myScanner = new Scanner(System.in); System.out.println("请输入保国同志的芝麻信用分:"); //假设信用分数为整数 //思考输入的不是整数,而是hello...怎么做??可以使用异常处理机制搞定 int mark = myScanner.nextInt(); //先对输入的信用分进行一个范围的有效判断1-100,否则提示输入错误 if(mark >= 1 && mark <= 100){ if(mark == 100){ System.out.println("信用极好"); }else if(mark > 80 && mark <= 99){ System.out.println("信用优秀"); }else if(mark >= 60 && mark <= 80){ System.out.println("信用一般"); }else{ System.out.println("信用不及格"); } }else{ System.out.println("信用分需要在1-100,请重新输入:)"); } } }
NestedIf.java
import java.util.Scanner; public class NestedIf { public static void main(String[] args) { //思路分析 //1.创建Scanner对象,接收用户输入 //2.接收成绩保存到 double score //3.使用 if-else 判断如果初赛成绩大于8.0进入决赛,否则提示淘汰 //4.如果进入到决赛,再接收char gender,使用if-else输出信息 Scanner myScanner = new Scanner(System.in); System.out.println("请输入你的成绩:"); double score = myScanner.nextDouble(); if(score > 8.0){ System.out.println("恭喜你进入决赛!"); System.out.println("请输入你的性别:"); char gender = myScanner.next().charAt(0); if(gender == '男'){ System.out.println("你被分到了男子组"); }else if(gender == '女'){ System.out.println("你被分到了女子组"); }else{ System.out.println("你的性别有误,不能参加比赛"); } }else{ System.out.println("你被淘汰了,下次要努力哦~"); } } }</pre>
Homework01.java
import java.util.Scanner; public class Homework { public static void main(String[] args){ //思路分析 //1.淡旺季-if-else //2.在旺季中,可以使用多分支处理三种情况 //3.在淡季中,使用双分支处理两种情况 Scanner myScanner = new Scanner(System.in); System.out.println("请输入月份:"); int mouth = myScanner.nextInt(); System.out.println("请输入年龄:"); int age = myScanner.nextInt(); if(mouth >= 4 && mouth <= 10){ System.out.println("这是旺季"); if(age >= 18 && age <= 60){ System.out.println("你是成人,票价为60"); }else if(age < 18){ System.out.println("你是儿童,票价为30"); }else if(age > 60){ System.out.println("你是老人,票价为20"); } }else{ System.out.println("这是淡季"); if(age >= 18){ System.out.println("你是成人,票价为40"); }else{ System.out.println("你的票价为20"); } } } }
Switch01.java
import java.util.Scanner; public class Switch01 { public static void main(String[] args) { //思路分析 //1.接受一个字符,创建Scanner对象 //2.使用switch来完成匹配,并输出对应信息 Scanner myScanner = new Scanner(System.in); System.out.println("请输入一个字符(a-g)"); char c1 = myScanner.next().charAt(0); //在java中,只要是有值返回,就是一个表达式 switch(c1) { case 'a' : System.out.println("今天是星期一"); break; case 'b' : System.out.println("今天是星期二"); break; case 'c' : System.out.println("今天是星期三"); break; case 'd' : System.out.println("今天是星期四"); break; case 'e' : System.out.println("今天是星期五"); break; case 'f' : System.out.println("今天是星期六"); break; case 'g' : System.out.println("今天是星期日"); break; default : System.out.println("你输入的字符不正确,没有匹配"); } System.out.println("退出了switch,继续执行程序"); } }
SwitchDetail.java
public class SwitchDetail { public static void main(String[] args){ //细节1 //表达式数据类型,应和case后的常量类型一致。 //或者是可以自动转成可以相互比较的类型,比如输入的字符,而常量是int char c = 'a'; switch(c) { case 'a' : System.out.println("ok1"); break; case 'b' : // case 20 ://正确:char可以自动转换为int // case "hello" ://错误: 不兼容的类型: String无法转换为char System.out.println("ok2"); break; default : System.out.println("ok3"); } //细节2 //switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum,String) // double d = 1.1;(错误) // switch(d) { // case 1.1 : // System.out.println("ok1"); // break; // case 2.1 : // System.out.println("ok2"); // break; // default : // System.out.println("ok3"); // } // 细节3 // case子句中的值必须是常量(1...,'a'...),而不能是变量 // char e = 'a'; // switch(e) { // case e ://错误:需要常量表达式 // System.out.println("ok1"); // break; // case 'b';/正确: // case 20 ://正确:char可以自动转换为int // case "hello" ://错误: 不兼容的类型: String无法转换为char // System.out.println("ok2"); // break; // default : // System.out.println("ok3"); // } // 细节4 // default子句是可选的,当没有匹配的case时,执行default // 如果没有default子句,又没有匹配任何常量,则没有输出 // 细节5 // break语句用来在执行完一个case分支后使程序跳出switch语句块 // 如果没有写break,程序会顺序执行到switch结尾,除非执行到到break char f = 'a'; switch(f) { case 'a' : System.out.println("ok1"); // break; case 'b' : System.out.println("ok2"); break; default : System.out.println("ok3"); } System.out.println("退出了switch,继续执行..."); //输出ok1 ok2 退出了switch,继续执行... // char f = 'b'; // switch(f) { // case 'a' : // System.out.println("ok1"); // // break; // case 'b' : // System.out.println("ok2"); // break; // default : // System.out.println("ok3"); // } // System.out.println("退出了switch,继续执行..."); //输出ok2 退出了switch,继续执行... } }
SwitchExercise.java
import java.util.Scanner; public class SwitchExercise { public static void main(String[] args){ //第1题: //使用switch把小写类型的char型转为大写(键盘输入)。 //只转换a,b,c,d,e.其它的输出“other” Scanner myScanner= new Scanner(System.in); // System.out.println("请输入小写字母:"); // char letter = myScanner.next().charAt(0); // switch(letter){ // case 'a' : // System.out.println("A"); // break; // case 'b' : // System.out.println("B"); // break; // case 'c' : // System.out.println("C"); // break; // case 'd' : // System.out.println("D"); // break; // case 'e' : // System.out.println("E"); // break; // default : // System.out.println("other"); // } // 第2题: // 对学生成绩大于60分的,输出“合格”。低于60分的 // 输出“不合格”(注:输入的成绩不能大于100),提示 成绩/60 // 思路分析: // 1.可以用分支来完成,但是要求使用switch // 2.需要进行转换,编程思想 // 如果成绩在[60-100]之间,强转(int)成绩/60 = 1 // 如果成绩在[0-60]之间,强转(int)成绩/60 = 0 // System.out.println("请输入学生成绩:"); // double score = myScanner.nextDouble(); // // 使用if-else保证输入的成绩在0-100之间 // if(score >=0 && score <= 100){ // switch((int)(score / 60)){ // case 1 : // System.out.println("合格"); // break; // case 0 : // System.out.println("不合格"); // break; // // default : // // System.out.println("输入有误"); // } // }else{ // System.out.println("成绩不能100"); // } //第3题: //根据用于指定月份,打印该月份所属的季节。3,4,5春季,6,7,8夏季 //9,10,11秋季,12,1,2冬季 //思路分析 //使用switch来匹配,使用穿透来完成,比较简洁 System.out.println("请输入月份:"); int mouth = myScanner.nextInt(); switch(mouth){ case 3 : case 4 : case 5 : System.out.println("春季"); break; case 6 : case 7 : case 8 : System.out.println("夏季"); break; case 9 : case 10 : case 11 : System.out.println("秋季"); break; case 12 : case 1 : case 2 : System.out.println("冬季"); break; default : System.out.println("你输入的月份不对"); } } }
ForDetail.java
//演示for的使用细节 public class ForDetail{ public static void main(String[] args) { //1.循环条件是返回一个布尔值的表达式 //2.for(;循环判断条件;)中的初始化和变量迭代可以写到其它地方,但是两边分号不能省略 // int i = 1; // for(; i <= 10 ;){ // System.out.println("你好,韩顺平教育" + i); // i++; // } // System.out.println("i=" + i);//i=11 //补充 // int j = 1; // for(;;){//表示无限循环(死循环) // System.out.println("ok~" + (j++)); // } // ----------------------------- // 3.循环初始值可以有多条初始化语句,但要求类型一样,并且 // 中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句, // 中间用逗号隔开 // 使用内存分析法 int count = 3; for(int i = 0,j = 0;i < count;i++,j +=2){ System.out.println("i=" + i + "j=" +j); /* i=0j=0 i=1j=2 i=2j=4 */ } } }
ForExercise.java
public class ForExercise { public static void main(String[] args){ //打印1~100之间所有是9的倍数的整数,统计个数及总和[化繁为简,先死后活] //老韩的两个编程思想(技巧) //1.化繁为简:将复杂的需求拆解成简单的需求,逐步完成 //2.先死后活:先考虑固定的值,然后转成可以灵活变化的值 //思路分析: //化繁为简 //(1)完成输出1-100的值 //(2)在输出的过程中,进行过滤,只输出9的倍数 //(3)统计个数:定义一个变量 int count = 0;当条件满足时,count++; //(4)总和,定义一个变量int sum = 0;当条件满足时sum +=i //先死后活 //(1)为了适应更好的需求,把范围开始值和结束的值,做成变量 //(2)把倍数9也做成变量 int start = 1; int end = 100; int t = 5;//倍数 int count = 0;//统计整除倍数的整数的个数 int sum = 0;//总和 for(int i = start;i <= end;i++){ if(i % t == 0){ count++; sum +=i; } } System.out.println("count=" + count); System.out.println("sum=" + sum); } }
ForExercise02.java
public class ForExercise02 { public static void main(String[] args){ //完成下面的表达式输出 //化繁为简 //(1)先输出0-5 //(2)后面的+是5-i //先死后活 //(1)5替换成变量 int n = 9; for(int i = 0;i <= n;i++){ System.out.println(i + "+" + (n-i) + "=" + n); } } }
While01.java
//while循环的案例 // public class While01 { public static void main(String[] args) { //输出10句你好,韩顺平教育 // int i = 1;//循环变量初始化 while(i <= 10){//循环条件 System.out.println("你好,韩顺平教育" + i);//执行语句 i++;//循环变量迭代 } System.out.println("i=" + i); System.out.println("退出while循环,继续..."); } }
WhileExercise.java
public class WhileExercise { public static void main(String[] args) { // 1.打印1-100之间所有能被3整除的数 // int i = 1; // int endNum = 100; // int b = 4; // while(i <= endNum){ // if(i % b == 0){ // System.out.println(i); // } // i++; // } // 2.打印40-200之间所有的偶数 int i = 40; int j = 200; int z = 2; while(i <= j){ if(i % z ==0){ System.out.println(i); } i++; } } }
DoWhile01.java
public class DoWhile01{ public static void main(String[] args) { //输出10句你好,韩顺平教育 int i = 1;//循环变量初始化 do{ //循环执行语句 System.out.println("你好,韩顺平教育" + i); //循环变量迭代 i++; }while(i <= 10); System.out.println("退出...继续执行" + i);//i=11 } }
DoWhileExercise.java
public class DoWhileExercise { public static void main(String[] args) { // int i = 1; // do{ // System.out.println(i); // i++; // }while(i <= 100); int i = 1; int j = 0; do{ j= j + i; i++; }while(i <= 100); System.out.println(j); } }
DoWhileExercise01.java
public class DoWhileExercise01 { public static void main(String[] args) { //统计1--200之间能被5整除但不能被3整除的个数 //化繁为简 //(1)使用do-while输出1-200 //(2)过滤能被5整除但不能被3整除的数% //(3)统计满足条件的个数 //先死后活 //(1)范围的值1-200做成变量 //(2)能被5整除但是不能被3整除的,5和3可以改为变量 int i = 1; int count = 0; do{ if(i % 5 == 0 && i % 3 != 0){ count++; } i++; }while(i <= 200); System.out.println(count); } }
DoWhileExercise02.java
import java.util.Scanner; public class DoWhileExercise02 { public static void main(String[] args){ //如果李三不还钱,则老韩一直使出五连鞭,直到李三说还钱为止 //[Syste.out.println("老韩问:还钱吗?y/n")] do...while //化繁为简 //(1)不停的问还钱吗 //(2)使用char answer接收回答,定义一个Scanner对象 //(3)在do-while的while中判断如果是y就不再循环了 Scanner myScanner = new Scanner(System.in); char answer = ' '; do{ System.out.println("老韩使出五连鞭"); System.out.println("老韩问:还钱吗?y/n"); answer = myScanner.next().charAt(0); System.out.println("回答是" + answer); }while(answer != 'y'); } }
MulFor.java
//双层for // public class MulFor { public static void main(String[] args) { for(int i = 0;i < 2;i++){ for(int j = 0;j < 3;j++){ System.out.println("i=" + i + "j=" + j); } } } } //结果: // i=0j=0 // i=0j=1 // i=0j=2 // i=1j=0 // i=1j=1 // i=1j=2
MulForExercise01.java
import java.util.Scanner; public class MulForExercise01 { public static void main(String[] args){ //1.统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入] //统计3个班的及格人数,每个班有5名学生。 // //思路分析: //化繁为简 //(1)先计算一个班,5个学生的成绩 // a.创建一个Scanner对象,接收用户输入 // b.得到该班级的平均分,定义一个double sum把该班5个学生的成绩累加起来 //(2)统计3个班(每个班有5个学生) //(3)求出所有班级的平均分 // a.定义一个变量,double totalScore,累计所有学生的成绩 // b.当多重循环结束后,totalScore / (3 * 5) //(4)统计三个班及格人数 // a.定义变量int passNum = 0; // b.当有一个学生成绩>=60,passNum++ //(5)优化[效率,可读性,结构] Scanner myScanner = new Scanner(System.in); double totalScore = 0;//累计所有学生成绩 int passSum = 0;//累计及格人数 int classNum = 3; int studentNum = 5; for(int grade = 1;grade <= classNum;grade++){ double sum = 0; int passNum = 0; for(int count = 1;count <= studentNum;count++){ System.out.println("请输入第" + grade +"个班第" + count + "个学生的成绩"); double score = myScanner.nextDouble(); System.out.println("成绩为" + score); sum += score; //当有一个学生成绩>60,passNum++ if(score >= 60){ passNum++; } } //因为sum是5个学生的总成绩 System.out.print("总分为" + sum); System.out.println("平均分为" + (sum / studentNum )); System.out.println("及格人数为" + passNum); totalScore += sum; passSum += passNum; } //把sum累计到totalScore System.out.print("三个班级总分为" + totalScore); System.out.println("三个班级平均分为" + (totalScore / (classNum * studentNum))); System.out.println("三个班级及格人数为" + passSum); } }
MulForExercise02.java
public class MulForExercise02{ public static void main(String[] args){ for(int i = 1;i <= 9;i++){ for(int j = 1;j <= i;j++){ System.out.print(i + " * " + j + " = " + (i*j) + "\t"); } System.out.println(""); } } }
Stars.java
public class Stars{ public static void main(String[] args){ //思路分析 //化繁为简 //1.先打印一个矩形 /* ***** ***** ***** ***** ***** for(int i = 1;i <= 5;i++){ System.out.println("*****"); } 2.打印半个金字塔 * //第一层有1个* ** //第二层有2个* *** //第三层有3个* **** //第四层有4个* ***** //第五层有5个* for(int i = 1;i <= 5;i++){ for(int j = 1;j <= i;j++){ System.out.print("*"); } System.out.println(""); } 3.打印整个金字塔 * //第一层有1个* 2*1-1 有4个(总层数-1)空格 *** //第二层有3个* 2*2-1 有3个(总层数-2)空格 ***** //第三层有5个* 2*3-1 有2个(总层数-3)空格 ******* //第四层有7个* 2*4-1 有1个(总层数-4)空格 ********* //第五层有9个* 2*5-1 有0个(总层数-5)空格 for(int i = 1;i <= 5;i++){ for(int k = 1;k <= 5 - i;k++){ System.out.print(" "); } for(int j = 1;j <= 2*i-1;j++){ System.out.print("*"); } System.out.println(""); } 4.打印空心的金字塔[最难的] * //第一层有1个* 当前行的第一个位置*,最后一个位置也是* * * //第二层有2个* 当前行的第一个位置*,最后一个位置也是* * * //第三层有2个* 当前行的第一个位置*,最后一个位置也是* * * //第四层有2个* 当前行的第一个位置*,最后一个位置也是* ********* //第五层有9个* 全部输出* for(int i = 1;i <= 5;i++){ for(int k = 1;k <= 5 - i;k++){ System.out.print(" "); } for(int j = 1;j <= 2 * i - 1;j++){ if(j == 1 || j == 2 * i - 1 || i == 5){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(" "); } */ 5.先死后活 层数做成变量 int numberOfLayers */ int numberOfLayers = 21; for(int totalLevel = 1;totalLevel <= numberOfLayers;totalLevel++){ //totalLevel表示层数 //在输出*之前,还有空格输出 for (int space = 1;space <= numberOfLayers - totalLevel;space++){ System.out.print(' '); } //控制打印每层的*的个 for(int starsNum = 1;starsNum <= 2 * totalLevel - 1;starsNum++){ //当前行的第一个位置时*,最后一个位置也是*,最后一层全部输出* if(starsNum == 1 || starsNum == 2 * totalLevel - 1 || totalLevel == numberOfLayers){ System.out.print("*"); }else{ System.out.print(" "); } } //每打印完一层的*就换行 System.out.println(""); } } }
Test.java
public class Test { public static void main(String[] args) { for(int i = 0;i <= 10;i++){ System.out.println((int)(Math.random() * 100) + 1); } } }
Break01.java
public class Break01{ public static void main(String[] args){ //测试代码 for(int i = 0; i < 10;i++){ if(i == 3){ break; }System.out.println("i=" + i); } System.out.println("退出for循环,继续执行..."); //... } } //输出结果 //i=0 //i=1 //i=2 //退出for循环,继续执行...
BreakDetail.java
public class BreakDetail { public static void main(String[]args){ abc1: for(int j = 0;j < 4;j++){//外层for abc2: for(int i = 0;i <10;i++){//内层for if(i ==2){ // break;默认等价于break abc2 break abc1; } System.out.println("i=" + i); } } } } //break;结果: //i=0 //i=1 //i=0 //i=1 //i=0 //i=1 //i=0 //i=1 //break abc1;结果: //i=0 //i=1
BreakExercise.java
public class BreakExercise { public static void main(String[] args) { //1)1-100以内的数求和,求出当和第一次大于20的当前数[for + break] //思路分析 //1.循环1-100,求和sum //2.当sum > 20时,记录下当前数,然后break //3.在for循环外部,定义变量n,把当前i赋给n int sum = 0; int n = 0; for(int i =1;i <= 100;i++){ sum +=i; if(sum >20){ // System.out.println("sum>20 ,当前i=" + i);//sum>20 ,当前i=6 n = i; break; } } System.out.println("sum>20 ,当前i=" + n); } }
BreakExercise02.java
import java.util.Scanner; public class BreakExercise02 { public static void main(String[] args) { // 实现登录验证,有3次机会,如果用户名为“丁真”, // 密码“666”提示登录成功,否则提示还有几次机会, // 请使用for+break完成 // 思路分析 // 1.创建Scanner对象接收用户输入 // 2.定义 String name;String passwd;保存用户名和密码 // 3.循环3次[登录3次],满足条件提前退出 // 4.顶一个变量 int change 记录有几次登录机会 Scanner myScanner = new Scanner(System.in); // String name = ""; // String passwd = ""; int chance = 3;//登陆一次,就减少一次 for(int i = 1;i <= 3;i++){ System.out.println("请输入用户名"); String name = myScanner.next(); System.out.println("请输入密码"); String passwd = myScanner.next(); //比较输入的名字和密码是否正确 //补充:字符串内容的比较使用的方法是equals if("丁真".equals(name) && "666".equals(passwd)){ //name.equals("丁真")和"丁真".equals(name)表达意思一致 //"丁真".equals(name)写法可以避免空指针,推荐选择 System.out.println("登陆成功"); break; } chance--; System.out.println("你还有" + chance + "次机会"); } } }
ContinueDetail.java
public class ContinueDetail { public static void main(String[] args){ label1: for(int j = 0;j < 2;j++){ label2: for(int i = 0;i < 4;i++){ if(i == 2){ //看看分别输出什么值,并分析 // continue; // continue label2; continue label1; } System.out.println("i = " + i); } } } } //continue;结果: //i=0 //i=1 //i=3 //i=0 //i=1 //i=3 //continue lable2;结果: //i=0 //i=1 //i=3 //i=0 //i=1 //i=3 //continue label1;结果: //i=0 //i=1 //i=0 //i=1
Return01.java
public class Return01{ public static void main(String[] args){ for(int i = 1;i <= 5; i++){ if(i == 3){ System.out.println("韩顺平教育" + i); // break; // continue; return;//当return用在方法时,表示跳出方法,如果使用在main,表示退出程序 } System.out.println("Hello world!"); } System.out.println("go on..."); } } // --------------------- //break;结果: //Hello world! // Hello world! // 韩顺平教育3 // go on... // --------------------- // continue;结果: // Hello world! // Hello world! // 韩顺平教育3 // Hello world! // Hello world! // go on... // --------------------- // return;结果: // Hello world! // Hello world! // 韩顺平教育3
Homework01.java
public class Homework01 { public static void main(String[] args) { //思路分析 //1.定义 double money 保存100000 //2.根据题的要求,我们分析出来有3中情况 //money > 50000 //money >= 1000 && money <=50000 //money < 1000 //3.使用多分支if-else if-else //4.while+break[money < 1000],同时使用一个变量times来保存通过的路口数 //代码实现 double money = 100000; int times = 0; while(true){ if(money > 50000){ money *= 0.95; }else if(money >= 1000){ money = money - 1000; }else{//钱不够了 break; } times++; } System.out.println("该人还剩" + money + "元,100000元经过了" + times + "次路口"); } }
Homework02.java
import java.util.Scanner; public class Homework02 { public static void main(String[] args) { Scanner myScanner = new Scanner(System.in); System.out.println("请输入一个整数"); int i = myScanner.nextInt(); if(i > 0){ System.out.println("输出的数为" + i + "大于0"); }else if(i < 0){ System.out.println("输出的数为" + i + "小于0"); }else{ System.out.println("输出的数为" + i + "等于0"); } } }
Homework03.java
import java.util.Scanner; public class Homework03 { public static void main(String[] args) { Scanner myScanner = new Scanner(System.in); System.out.println("请输入一个年份:"); int year = myScanner.nextInt(); if(year % 4 == 0 && year % 100 != 0 || year % 400 ==0){ System.out.println(year + "年是闰年"); }else{ System.out.println(year + "年是平年"); } } }
Homework04.java
import java.util.Scanner; public class Homework04 { public static void main(String[] args) { // 思路分析 =>多听,见多识广 // 1.比如 int n = 153; // 2.先得到 n 的百位,十位,个位的数字, // 使用if判断他们的立方和是否相等 // 3.n的百位 = n / 100 // 4.n的十位 = n % 100 / 10 // 5.n的个位 = n % 10 // 6.判断即可 Scanner myScanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = myScanner.nextInt(); int n1 = num / 100; int n2 = num % 100 / 10; int n3 = num % 10; // int f[]=new int[10]; // int temp = num; // f[0] = temp % 10; // temp = temp / 10; // f[1] = temp % 10; // temp = temp / 10; // f[2] = temp % 10; if(num >= 100 && num < 1000){ if(num == n1*n1*n1 + n2*n2*n2 + n3*n3*n3){ System.out.println("这个数是水仙花数"); }else{ System.out.println("这不是一个水仙花数"); } }else{ System.out.println("这不是一个水仙花数"); } } }
没有任何内容输出
Homework06.java
public class Homework06 { public static void main(String[] args) { //思路分析 //1.先输出1-100所有数 //2.过滤输出不能被5整除的数(i % 5 != 0) //3.每5个一行,使用int count 统计输出的个数 //count%5=0,就说明输出了5个。这时我们换行符 int i = 1; int count = 0; while(i <= 100){ if(i % 5 != 0){ count++; System.out.print(i + "\t"); //判断,每满5个,就输出一个换行 if(count % 5 == 0){ System.out.println(); } } i++; } } }
Homework07.java
public class Homework07 { public static void main(String[] args) { //考察a-z编码和for循环的综合使用 //思路分析 //1.'b'='a'+1;'c'='a'+2 //2.使用for循环 for(char c1 = 'a';c1 <= 'z';c1++){ System.out.print(c1 + " "); } System.out.println(""); for(char c2 = 'Z';c2 >= 'A';c2--){ System.out.print(c2 + " "); } // int start = (int)('a'); // int end = (int)('z'); // int nums = (int)('A'); // int numd = (int)('Z'); // for(int i = start;i >= start && i <= end;i++){ // System.out.print((char)i + " "); // } // System.out.println(""); // for(int j = numd;j <= numd && j >= nums;j--) // System.out.print((char)j + " "); } }
Homework08.java
public class Homework08 { public static void main(String[] args) { //求出1-1/2+1/3-1/4+1/5......1/100的和 //思路分析 //1. (1/1)-(1/2)+(1/3)-(1/4)...1/100 //2.一共100个数,分子为1,分母是从1-100 //3.分母为偶数时,前面符号为-,当分母是奇数是,前面为+ //4.使用for循环+判断可完成 //5.把结果存放在double sum //6.有一个隐藏的考点:要把公式的分子1写成double 1.0才能得到精确的小数 // // double sum = 0; // for(int i = 1;i <= 100;i++){ // if(i % 2 == 0){ // sum -= (1.0 / i); // }else{ // sum += (1.0 / i); // } // } // System.out.println("sum=" + sum); // 以下方法为什么不可以?? //1.加法1+1/3+1/5+1/7 //3 5 7 9 11 13 15 16 //2.减法1-1/2-1/4-1/6-...-1 //2 4 6 8 10 12 14 16 // double sum = 0; // for(int i = 1;i <= 100;i++){ // sum += (1.0 / (2 * i + 1) - 1.0 / (2 * i)); // } // System.out.println(sum + 1.0); } }
Homework09.java
public class Homework09 { public static void main(String[] args){ // 求1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+100)的结果 //100个1,99个2,98个3...,1个100相加 //思路分析 //1.一共有100项相加 //2.每一项数字都在逐渐增加 //3.很像一个双层循环 //i可以表示是第几项,也可以表示当前项的最后一个数 //使用sum进行累计即可 int sum = 0; for(int i = 1;i <= 100;i++){ for(int j = 1;j <= i;j++){//内层对1~i进行循环 sum += j; } } System.out.println("sum=" + sum); // int sum = 0; // for(int i = 1,j = 100;i <= 100;i++,j--){ // sum += i * j; // } // System.out.println(sum); } }