输出杨辉三角形,并根据键盘录入的行数,决定杨辉三角的行数。
package com.java;
import java.util.Scanner;
public class 杨辉三角 {
// 输入任意行数,打印对应行数的杨辉三角
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入行数:");
int k = 0;
while (true) { // 判断输入的数据是否合法
k = sc.nextInt();
if (k <= 0 || k > Integer.MAX_VALUE) {
System.out.println("输入的数据不合法!");
} else {
break;
}
}
for (int i = 1; i <= k; i++) {
for (int m = 1; m <= k - i; m++) {// 每一行前的空格数
System.out.print(" ");
}
for (int m = 1; m <= 2 * i - 1; m++) { // 每一行的 * 数
System.out.print("*");
}
System.out.println();
}
sc.close();
}
}
有1、2、3、4一共四个数字,能组成多少个不相等且无重复数字的三位数?都是多少?
注:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的就可以了。
利用for循环将所有符合条件的数进行打印输出
package com.java;
public class Test {
public static void main(String[] args) {
// 1 2 3 4 组成的三位数,无重复
int cc = 0; // 计数
String ss = "";
int sum = 0;// 求和
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= 4; j++) {
for (int k = 1; k <= 4; k++) {
if (i != j && i != k && j != k) {
System.out.print(i + "" + j + "" + k + "\t");// 输出每一个符合要求的数字
ss += (i + "" + j + "" + k + "+"); // 将输出的所有数字累积其来放在ss字符串中
sum += (i * 100 + j * 10 + k); // 将输出的数字进行累加
cc++; // 符合要求数的个数
if (cc % 3 == 0) { // 以3列为一行
System.out.println();
}
}
}
}
}
ss = ss.substring(0, ss.length() - 1) + "=" + sum;// 去除最后一个数后面的加号,且将最终累加的值放在最后
System.out.println(ss); // 打印ss中的内容
System.out.println("一共有:" + cc + "个数字");// 打印一共有多少个数字
}
}
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13。求出这个数列的前20项之和。
注:提前告诉答案是32.66026079864164
package com.java;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入需要一个正整数:");
int a=sc.nextInt();
String ss="";
ss=a+"";
String aa="";
for(int c=ss.length()-1;c>=0;c--) {
aa+=ss.charAt(c);
}
System.out.println(a+"的逆序是:"+aa);
System.out.println(a+"的长度是"+ss.length());
sc.close();
}
}
提示用户输入三角形的边a、b、c,范围必须在 [1,100) 之间,判断三角形的类型:1.非三角形;2. 等边三角形;3.直角三角形;4.等腰三角形;5.普通三角形
package com.java;
import java.util.Scanner;
public class Test {
//判断三角形
public static void main(String[] args) {
int a=0,b=0,c=0;
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个边长:");
while(true) {
a=sc.nextInt();
if(a>=0&&a<100) {
break;
}
else {
System.out.println("输入的数据不合法");
}
}
System.out.println("请输入第二个边长:");
while(true) {
b=sc.nextInt();
if(b>=0&&b<100) {
break;
}
else {
System.out.println("输入的数据不合法");
}
}
System.out.println("请输入第三个边长:");
while(true) {
c=sc.nextInt();
if(c>=0&&c<100) {
break;
}
else {
System.out.println("输入的数据不合法");
}
}
boolean sanjiao= (a + b > c) && (a + c > b) && (b + c > a);
if (sanjiao) {
if(a==b &&b==c) {
System.out.println("等边三角形");
}
else if(a==b||b==c||a==c){
System.out.println("等腰三角形");
}
else if(a*a+b*b==c*c ||a*a+c*c==b*b || b*b+c*c==a*a) {
System.out.println("直角三角形");
}
else {
System.out.println("普通三角形");
}
}
else {
System.out.println("不是三角形");
}
sc.close();
}
}
打印用“*”组成的X形图案
package com.java;
public class Test {
//用*打印X形图案
public static void main(String[] args) {
int k = 4;
for (int i = k; i >= 1; i--) {
for (int m = 1; m <= k - i; m++) {
System.out.print(" "); // 最前面空格
}
System.out.print("*"); // 空格后面跟一个*
for (int m = 1; m <= 2 * (i - 1); m++) {
System.out.print(" "); //内部空格
}
System.out.println("*"); //内部空格后面跟一个*
}
for (int i = 1; i <= k; i++) {
for (int m = 1; m <= k - i; m++) {
System.out.print(" ");// 最前面空格
}
System.out.print("*"); // 空格后面跟一个*
for (int m = 1; m <= 2 * (i - 1); m++) {
System.out.print(" "); //内部空格
}
System.out.println("*");//内部空格后面跟一个*
}
}
}
完成猜数字游戏 ,用户输入数字,判断该数字是大于,小于,还是等于随机生成的数字,等于的时候退出程序。
package com.java;
import java.util.Scanner;
public class Test {
//猜数游戏,用户猜数与随机数对比
public static void main(String[] args) {
// 生成一个1-100之间的随机数
int target = (int) (Math.random() * 100 + 1);
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的猜测数据:");
while (true) {
int a = sc.nextInt();
if (a > target) {
System.out.println("猜大了!");
}
if (a < target) {
System.out.println("猜小了!");
}
if (a == target) {
System.out.println("恭喜你,猜对了!");
}
}
}
}
打印输入行数的空心杨辉三角
package com.java;
import java.util.Scanner;
public class Test {
//打印输入行数的空心杨辉三角
public static void main(String[] args) {
int k = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入空心杨辉三角对应的行数:");
while (true) {
k = sc.nextInt();
if (k <= 0 || k > Integer.MAX_VALUE) {
System.out.println("输入的行数不合法!");
} else {
break;
}
}
for (int i = 1; i <= k; i++) {
// 前面空格
for (int m = 1; m <= k - i; m++) {
System.out.print(" ");
}
System.out.print("*");
// 内部空格
int kk = 2 * (i - 1) - 1; // 行数和内部空格数的关系
if (kk > 0) {
for (int m = 1; m <= kk; m++) { // 内部空格
if (i == k) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.print("*");
}
System.out.println();
}
sc.close();
}
}