Java教程

JAVA基础语法_02

本文主要是介绍JAVA基础语法_02,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言:

夜深了,本来给自己制定的计划是一天三篇博客,但是一方面是因为懒,一方面是因为不想写水质量的博客,想写一些自己遇到的问题分享给大家然后也方便自己记录!!

挺惭愧的,专升本的大一新生(小声哔哔相当于大四了 还在学一些基础语法),有些不好意思,痛定思痛吧,不会就是不会,沉下心去补救吧。

 

例1:

素数的问题,是我之前一直逃避的东西,现在捡回来,动力节点老师讲的,首先什么是素数,只能被1和他本身整除,这里细说一下,什么是被除,1除以2  1是被除数 2是除数,被除数是被除数除掉的,不太好理解,所以换一种概念除了1和它本身以外不再有其他因数的自然数。

这里遇到了几个问题 一一分析一下:

  1. 就是boolean 写在了for循环体的外部,导致了只输出了2、3 因为4的时候在内层for循环就更改了boolean issushu为false 所以循环内部都不输出了,所以应该放在外层for循环内
  2. 至于为什么会输出2呢,最开始没有相通,按理说他应该j=2 j<2 for循环并没有执行啊,为啥2还会输出, 哈哈哈后来悟了,对呀 内存for循环没有执行,我们初试的boolean为true就直接进行了if语句的判断输出了i的值,如果我们修改初试的定义的话 那2肯定就不会输出了。
  3. 1既不是质数也不是素数
  4. 讲打印i的语句卸载了if后面的else中 造成了每个数字都进行了打印,后来悟了因为是循环进行打印的 比如说10/2 10/3 10/4 当余数不为零就输出了 i 肯定是不对的我们的目的是输出素数。可能描述的不太清楚,就是素数在相除过程中只要有一个除1和本身外的公因数=0了都不能称作素数,但是期间很多数字进行除法运算还是会有余数的 写在内层循环后都会进行打印!!
//import java.util.Scanner;
public class sushu2{
    public static void main(String[] args){
        //boolean issushu = true;
        
        
        for(int i=2;i<=10000;i++){
            boolean issushu = true;
            for(int j=2;j<i;j++){
                if(i%j==0){
                    issushu=false;
                    break;
                }
                
            }
            if(issushu){
                System.out.println(i);
            }
        
        }
        
    }
}

例二:

acm入门第一题,牛吃草问题,小学奥数题,属实是想复杂了,贴在这里!!

 

public class niuchicao{
	public static void main(String[] args){
		int sum1 = 15*20; //20天草的份数
		int sum2 = 20*10; // 10天草的份数
		int grow;
		grow = (sum1-sum2)/10; //每天草的生长的份数
		System.out.println(grow);
		
	}
}

 

例三:

老师布置的作业水仙花数的判断

之前因为一直用的idea的快捷生成指令,没想到自己敲的时候出现了这么多问题。

public class都写不明白 一堆报错,还是记事本好 多练习几遍 熟练了以后再上idea吧

  1. 这里的水仙花数就是三位数的个位十位百位分别的立方相加等于这个三位数
  2. 我们进行分析,首先需要分别取出个位十位百位,方法是百位=三位数/100;个位=三位数%10; 十位=(三位数/10)%10;这里记得加括号运算顺序的原因
  3. Scanner这个包一定得提前导入 还得new这个对象才能进行使用
//输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,
//例如153是“水仙花数”,因为:153 = 13 + 53 + 33。

import java.util.Scanner;
public class shuixianhua{
    public static void main(String[] args){
        Scanner SC = new Scanner(System.in);
        System.out.println("请输入一个需要判断的三位数:");
        int x = SC.nextInt();
        int gewei,shiwei,baiwei;
        if(x > 99 || x<1000){
            baiwei = x/100;
            shiwei = (x/10)%10;
            gewei = x%10;
            if(baiwei*baiwei*baiwei+shiwei*shiwei*shiwei+gewei*gewei*gewei == x){
                System.out.println( x +"这是一个水仙花数");
            }else{
                System.out.println("这不是水仙花数");
            }
            
        }else{
            System.out.println("您输入的不是一个三位数,故意找茬?");
        }
        
    }
}

 

例四:

老师布置的猜数字游戏,random这个包也需要进行提前的导入,使用方法如下,这个考察的是对循环体的使用,因为你不知道猜的次数就淘汰掉for循环了,使用while,

random不能写在while循环内,不然每次都会随机生成,我们就没法猜到数字了!!!

 

number1>100 || number1<1

短路或运算用的是真的舒服!!

 

/*
Random

作用:
用于产生一个随机数

使用步骤:
1:导包
import java.util.Random;
2:创建对象
Random r = new Random();
3:获取随机数
int number = r.nextInt(10);
获取数据的范围:[0,10) 包括0,不包括10
*/

/*
    猜数字

    需求:
        程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
        当猜错的时候根据不同情况给出相应的提示

        如果猜的数字比真实数字大,提示你猜的数据大了
        如果猜的数字比真实数字小,提示你猜的数据小了
        如果猜的数字与真实数字相等,提示恭喜你猜中了
*/
import java.util.Random;
import java.util.Scanner;
public class RandomTest {
    public static void main(String[] args) {
        //要完成猜数字的游戏,首先需要有一个要猜的数字,
        //使用随机数生成该数字,范围1到100
        Random r = new Random();
        int number = r.nextInt(100)+1;
        Scanner Sc = new Scanner(System.in);
        
            //使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现
            while (true)
            {
                System.out.println("请输入要猜测的数字:(范围0~100)");
                int number1 = Sc.nextInt();
                if (number1>100 || number1<1)
                {
                    System.out.println("输入的数据有误");
                }else if (number1<number)
                {
                    System.out.println("猜小了一点哦~~");
                }else if (number1>number)
                {
                    System.out.println("猜大了一点哦~~");
                }else if (number1==number)
                {
                    System.out.println("恭喜您猜对了");
                    break;
                }



            }
            //比较输入的数字和系统产生的数据,需要使用分支语句。
            //这里使用if..else..if..格式,根据不同情况进行猜测结果显示

    }
}

 

 

 

先写这么多ba 明天继续努力 虽然还是很水 但是确实是我真实的编程水平,数据结构还有c++等着我 ai方向还有python和一些tensoflower等着学习,加油拉!!!

 

 

这篇关于JAVA基础语法_02的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!