赞
踩
通过本篇题目,可以让初学Java的小伙伴们更加熟练Java的基础语法~
创造不易,可以点点赞吗~
如有错误,欢迎指出~
题述:编写程序数一下 1到 100 的所有整数中出现多少个数字9
分两步
- public class test {
- //1~100数字9出现的个数
- public static int fan1(int n){
- int count=0;
- for (int i = 1; i <=100 ; i++) {
- if(i%10==9){//取个位上的9 有9 19 29……99 有10个
- count++;
- }
- if(i/10==9){//取十位上的9 有90 91 92 93……99 有10个
- count++;
- }
- }
- return count ;
- }
-
- public static void main(String[] args) {
- System.out.println(fan1(100));
- }

结果是20
题述:输入一个正整数,求它从1到该整数阶乘的和。如指定数字5,求1!+2!+……5!
先实现一个数求阶乘的方法,再相加
- //写一个函数求阶乘
- public static int fac(int n) {
- int ret = 1;
- for (int i = 1; i <= n; i++) {
- ret *= i;
- }
- return ret;
- }
- //此函数求阶乘的和
- public static int facSum(int n){
- int sum=0;
- for (int i = 1; i <=n ; i++) {
- sum+=fac(i);
- }
- return sum;//要记得要写返回值,漏了就会一直报错
- }
-
- public static void main(String[] args) {
- int n=facSum(5);
- System.out.println(n);
- }

结果是153
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(,水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
例如 153(1^3 + 5^3+ 3^3 = 153)
步骤是先统计153有3位数字,再取到153每一位数字,最后判断1^3 + 5^3+ 3^3 = 153是否成立
- public static void main(String[] args) {
- //求水仙花数
- for (int i = 0; i <= 999999; i++) {//遍历1~999999的数字
- //计算当前有几位数
- int count=0;
- int tmp=i;
- while(tmp!=0){
- count++;
- tmp/=10;
- }
- //求tmp的每一位
- tmp=i;
- int sum=0;
- while(tmp!=0){
- sum+=Math.pow(tmp%10,count);//计算tmp的count次方
- tmp/=10;
- }
- if(sum==i){
- System.out.println(i);
- }
- }
- }

结果中153 、370、371、407是水仙花数
打印1~100的素数
法一:写一个方法判断一个数字是否是素数,再遍历2~100,打印符合的数字
- //判断一个数字是否是素数
- public static boolean is_prime(int n){
- for (int i = 2; i <n ; i++) {
- if(n%i==0){
- return false;
- }
- }
- return true;
- }
- public static void main(String[] args) {
- //打印1~100的素数
- for (int i = 2; i <=100 ; i++) {
- if(is_prime(i)){
- System.out.print(i+" ");
- }
- }
- }

法二:num=a*b 其中a和b两个必有一个 <= 根号num
- public static void main(String[] args) {
- //打印1~100的素数
- int num=100;
- for (int k = 1; k <= num; k++) {
- int i = 2;
- //跳出for循环时有两个结果
- for ( ; i <=Math.sqrt(k) ; i++) {//1.i>根号num
- if(k%i==0){//2.num被整除了
- break;
- }
- }
- if(i>Math.sqrt(k)) {
- System.out.println(k+" ");
- }
- }
结果
- import java.util.Random;
- import java.util.Scanner;
-
- public static void main(String[] args) {
- //java实现猜数字游戏
- int count=5;
- Scanner scan=new Scanner(System.in);
- Random random=new Random();
- int randNum=random.nextInt(100);//[0,100)
- //System.out.println("随机数是:"+randNum);用于测试时使用
- while(true){
- System.out.println("你还有"+count+"次机会!");
- System.out.println("请输入要猜的数字:");
- int num=scan.nextInt();
- if(num>randNum){
- System.out.println("猜大了!");
- }
- else if(num<randNum){
- System.out.println("猜小了!");
- }
- else{
- System.out.println("恭喜你,猜对了!数字是:"+randNum);
- break;
- }
- count--;
- if(count==0){
- System.out.println("很遗憾,挑战失败!数字是:"+randNum);
- break;
- }
- }
- }

结果
利用坐标关系i==j和i+j=n-1时打印*,其他情况打印空格
- //打印x形图案
- public static void printX(int n){
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- if(i==j||i+j==n-1){
- System.out.print("*");
- }
- else{
- System.out.print(" ");
- }
- }
- System.out.println();//换行
- }
- }
- public static void main(String[] args) {
- printX(5);
- }

结果
-
- //计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
- public static void main(String[] args) {
- double ret=0;//注意这里要用double,不能用int
- int flag=1;
- for (int i = 1; i <=100;i++) {
- ret += 1.0 / (flag * i);
- flag=-flag;//用于改变i的符号
- }
- System.out.println(ret);
- }
结果 0.688172179310195
题述:编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序
-
- public static void login(){
- int count=3;
- Scanner scan=new Scanner(System.in);
- String string="123456";
- while(count!=0){
- System.out.println("请输入密码:");
- String password= scan.nextLine();
- if(password.equals(string)){//匹配字符串用equals
- //登录成功
- System.out.println("登录成功!");
- break;
- }
- else{
- //登录失败
- count--;
- System.out.println("密码错误,你还有"+count+"次机会!");
- }
- }
-
- }
- public static void main(String[] args) {
- login();
- }

结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。