**java 基础编程题及其实现方式**
package javase.collection;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Random;
import java.util.Scanner;
/**
*
* @author 莱格
*/
public class Particities {
/**
*
*/
public static void main(String[] args) {
syso();
System.out.println("-----------------我是分隔符---------------------");
buyClothy();
System.out.println("-----------------我是分隔符---------------------");
buyJi();
System.out.println("-----------------我是分隔符---------------------");
buyJi2();
System.out.println("-----------------我是分隔符---------------------");
ChengFa();
System.out.println("-----------------我是分隔符---------------------");
ChengFaDao();
System.out.println("-----------------我是分隔符---------------------");
System.out.println(diGui(10));
System.out.println("-----------------我是分隔符---------------------");
JudgeDays();
System.out.println("-----------------我是分隔符---------------------");
computJiShu();
System.out.println("-----------------我是分隔符---------------------");
printJiOu();
System.out.println("-----------------我是分隔符---------------------");
comput();
}
/**
* 方案1: 100文钱买100只小鸡,公鸡5文,母鸡三文,小鸡1文3只,买满100只鸡且,刚好100文钱,必须都包含3中鸡。
*
*/
public static void buyJi() {
for (int i = 1; i <= 18; i++) {// 控制公鸡的数量
for (int j = 1; j <= 32; j++) {// 控制母鸡的数量
for (int z = 1; z < 100; z++) {// 控制小鸡的数量
if ((i + j + z) == 100 && (5 * i + 3 * j + z / 3) == 100 && z % 3 == 0) {
System.out.println("一共买了" + i + "只公鸡;" + j + "只母鸡;" + z + "只小鸡!");
}
}
}
}
}
/**
* 方案二: 针对方案一效率和性能不高的问题,定制了方案二
*
*/
public static void buyJi2() {
for (int i = 1; i < 18; i++) {// 控制公鸡的数量
for (int j = 1; j < 32; j++) {// 控制母鸡的数量
int z = 100 - i - j;// 小鸡的数量
if ((i + j + z) == 100 && (5 * i + 3 * j + z / 3) == 100 && z % 3 == 0) {
System.out.println("一共买了" + i + "只公鸡;" + j + "只母鸡;" + z + "只小鸡!");
}
}
}
}
/**
* 买衣服示例
*/
private static void buyClothy() {
Scanner in = new Scanner(System.in);
int num = 0;
int j = 0;
boolean flag = true;
for (int i = 1; i <= 5; i++) {
System.out.println("欢迎来到第" + i + "家店");
for (j = 1; j <= 3; j++) {
System.out.println("输入 1 购买一件衣服;2,去其他家店,3 有事回家");
int a = in.nextInt();
while (a < 0 || a > 3) {
System.out.print("输入有误,请重新输入:(请输入1-3之间的数字,否则无法识别)");
a = in.nextInt();
}
if (a == 1) {
num++;
} else if (a == 2) {
// System.out.println("");
break;
} else {
flag = false;
break;
}
}
if (!flag) {
break;
}
}
System.out.println("您一共购买了" + num + "件衣服");
}
/**
* 打印菱形
*/
private static void syso() {
for (int i = 1; i < 5; i++) {
for (int j = 14; j > i; j--) {
System.out.print(" ");
}
for (int k = 0; k < 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println("");
}
for (int i = 1; i < 4; i++) {
for (int j = 0; j < i + 10; j++) {
System.out.print(" ");
}
for (int k = 7; k > 2 * i - 1; k--) {
System.out.print("*");
}
System.out.println("");
}
}
/**
* 打印99乘法表
*
*/
public static void ChengFa() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j < i; j++) {
System.out.print(j + "*" + i + "=" + (i * j) + "\t");
}
System.out.println();
}
}
/**
* 倒着打印99乘法表
*
*/
public static void ChengFaDao() {
for (int i = 1; i <= 9; i++) {
for (int j = 9; j > i; j--) {
System.out.print(i + "*" + j + "=" + (i * j) + "\t");
}
System.out.println();
}
}
/**
* 使用递归完成阶乘算法
*/
public static int diGui(int i) {
if (i <= 0) {
return 1;
}
return i * diGui(i - 1);
}
/**
* 输入月份,判断天数
*/
public static void JudgeDays() {
Random r = new Random();
int n = r.nextInt(12) + 1;
DateFormat df = new SimpleDateFormat("YYYY-MM");
Date d = null;
try {
d = df.parse("2017-" + n);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Calendar c = new GregorianCalendar();
c.setTime(d);
System.out.println("2017年" + n + "月有" + c.getActualMaximum(c.DAY_OF_MONTH) + "天");
}
/**
* 用while循环计算100以内的奇数和偶数
*
*/
public static void computJiShu() {
int i = 1;
int sum1 = 0;
int sum2 = 0;
while (i <= 100) {
if (i % 2 == 0) {
sum2 += i;
} else {
sum1 += i;
}
i++;
}
System.out.println("奇数和:" + sum1 + "偶数和:" + sum2);
}
/**
* 用for循环打印1-1000之间能被5整除的数
*/
public static void printJiOu() {
int i = 0;
int flag = 0;
while (i < 1001) {
if (i % 5 == 0) {
System.out.print(i + " ");
flag++;
}
if (flag == 3) {
System.out.println("");
flag = 0;
}
i++;
}
}
/**
* 编程求:∑1+∑2+……+∑100
*
*/
public static void comput() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
for (int j = 1; j <= i; j++) {
sum += j;
}
}
System.out.println(sum);
}
/**
* 生成0-100随机数,直到生成88为止,停止循环!
*/
public void RandomShu() {
while (true) {
int n = (int) (Math.random() * 101);
System.out.println(n);
if (n == 88) {
break;
}
}
}
/**
*
* */
}
java基础知识简单算法题目
最新推荐文章于 2024-04-17 04:46:30 发布