今天是周二,开始补JAVA的基础了。哈哈,这两天做这些小练习感觉还挺有意思的,当时怎么没做呢?现在做被人看见真丢人啊。导师还是叫我写那个页面,我觉得好难写啊,怎么办呢,和他说了他也不理。继续补基础吧,基础不牢地动山摇。好困好困,我去洗洗睡觉吧,今天就到这里了,明天又周三了,还是挺快的。
import java.util.Scanner; public class JudgeIsLeapYear{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int year = in.nextInt(); isLeapYear(year); } private static void isLeapYear(int year){ if(year< 0){ System.out.println("error"); } else{ if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){ System.out.println("is Leap year"); } else{ System.out.println("is not Leap year"); } } } }
阶乘(这个有点丢人了)
import java.util.Scanner; public class factorial{ public static void main(String[] args) { Scanner in = new Scanner(System.in); //输入的数字为int类型,输出long long number = in.nextInt(); long i = number - 1; while(i > 0){ number = number * i; i--; } System.out.println(number); } }
public class CalculateIncome{ public static void main(String[] args) { int income = 1; int incomeSum = 1; for(int i = 2;i <= 10;i++){ income = income * 2; incomeSum = incomeSum + income; } System.out.println(incomeSum); } }
public class JumpOver{ public static void main(String[] args) { int MAX_VALUE = 101; for(int i = 1;i < MAX_VALUE;i++){ if(i % 3 == 0 || i % 5 ==0){ continue; } System.out.print(i+" "); } } }
理解题意?第一年有没有1W2呢,如果有的话就是15年,具体晚上回去看看讲解吧。讲解出来了,一开始做的时候n++放的位置不对,导致输出的n大了一个。应该将n++放在break语句后面,如果break掉了就不用加1了。讲解的方法看起来有点麻烦,仅供参考吧。
/** * 假设你月收入是3000,除开平时花销,每个月留下1000块钱进行投资。 * * 然后你认真的钻研了 《股票和基金21天从入门到精通》,达到了每年20%的投资回报率。 * * 那么问题来了,以每个月投资1000块钱的节奏,持续投资多少年,总收入达到100万 * (复利计算按照每年12000投入计算,不按照每月计息) * 复利公式: * F = p* ( (1+r)^n ); * F 最终收入 * p 本金 * r 年利率 * n 存了多少年 */ public class Millionaire{ public static void main(String[] args) { int p = 12000; double r = 0.2; double f = 0; int targetValue = 1000000; int sum = 0; int n = 0; //n为年份初始值 while(true){ f = p * (Math.pow((1+r),n)); sum += f; if(sum > targetValue){ break; } n++; } System.out.println(n); } }