第一周练习的程序代码和问题

2021/7/10 11:36:03

本文主要是介绍第一周练习的程序代码和问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

byte  x = 129;
byte m = 200 ;

因为byte的范围是-128~127
所以 代码错在问题
    需要将强制转换  代码为
        byte x=(byte)129
过程:
    129的二进制为  10000001   int类型为00000000 00000000 00000000 10000001 补码
    计算机要通过补码进行计算 且变成一个字节
        补码    1  0000001
                      -1
---------------------------    
        反码    1  0000000    
        ------------------    
        原码  1  1111111
             -    64+32+16+8+4+2+1
             -127

同理  m的值也超出范围
则   int类型  00000000 00000000 00000000 11001000  正数原码反码补码相同
    11001000  补码
    最高符号位          数值位    
    1                1001000        补码
    -                    1
    ---------------------------------
    1                1000111        反码
    ---------------------------------
    1                0111000        原码
    -                32+16+8=56
                    -56
    

将俩个值互换

方法一

        int a = 20;

        int b = 40;

        int c = 0;

        c=a;

        a=b;

        b=c;

        System.out.println("a="a+"  b="+b);

方法二

    int a = 20;
    int b = 40;
    a=a^b;
    b=a^b;     // b= a^b^b  b值为a   a 为 a^b
    a=a^b;     // a= a^b^a  
   
    System.out.println("a="a+"  b="+b);

键盘录入三个数据,求三个数据中的最大值,使用if语句格式嵌套完成和三元分别完成

import java.util.Scanner;
public class Test2 {

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入三个数字");
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=sc.nextInt();
        System.out.println("a、b、c分别为"+a+" "+b+" "+c+" ");
        int x = (a>b)?((a>c)?a:c):((b>c)?b:c); //三元比较输出
        System.out.println("最大值为"+x);
        if (a>b&&a>c){  // if 语句输出
            System.out.println("最大值为a,"+a);
        }else if(b>a&&b>c){
            System.out.println("最大值为b,"+b);
        }else
            System.out.println("最大值为c,"+c);
        }
    }

键盘录入数据,判断星期,改造成switch语句完成!

  

import java.util.Scanner;
public class SwitchTest {
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        int day=sc.nextInt();
        switch(day){// switch (变量名)
            case 1 :
                System.out.println("星期一");
                break;//执行语句1 后结束switch 没有break的话就会穿透程序
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期天");
                break;
            default:
                System.out.println("日期有误");
        }
    }
}

使用while/for循环分别求出1-100之间的偶数和

利用for循环求1~100偶数和
class Test2{
 public static void main(String[] args){
     int sum=0;
     for(int i=0;i<=100;i++){
         if(i%2==0){
             sum+=i;
            }
        }
     System.out.println("偶数和sum="+sum);
     }    

}

利用while循环求1-100偶数和
class Test2{
 public static void main(String[] args){
         int sum=0;
    int i=1;
    while(i<=100){
        if(i%2==0){
        sum=i+sum;
                }     i++;
    }
    System.out.println("偶数和sum="+sum);    
  }
}

键盘录入学生成绩,使用if语句判断学生等级

90-100 A

80-90 B

70-80 C

60-70 D

60以下 E

import java.util.Scanner;
class Test2{
    public static void main(String[] args){
        
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入您的成绩");
    int x= sc.nextInt();
    if (x>=90&&x<=100){
        System.out.println("您的成绩为A");    
        }else  if (x<90&&x>=80){
                System.out.println("您的成绩为B");
            }else  if ( x<80&&x>=70){
                    System.out.println("您的成绩为C");
                }else  if(x<70&&x>=60){
                        System.out.println("您的成绩为D");
                    }else  if(x<60){
                            System.out.println("您的成绩为E");
                        }                 
    }
}

使用for循环打印出所有的水仙花数

class Test2{ 
    public static void main (String[] args){
        
        int a;
        int b;
        int c;
        
                for(int x=100;x<999;x++){ 
                           a=x%10;//取x的个位 
                           b=(x/10)%10;// 取x 的十位
                           c=x/100;// 取x 的百位
            
                         if(a*a*a+b*b*b+c*c*c==x){
                                        System.out.println("x是水仙花数"+x);
                          }
                }    
    }
}

“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3 文 钱可以买1只公鸡,2 文钱可以买一只母鸡,1 文钱可以买3 只小鸡。用100 文 钱买100 只鸡,那么各有公鸡、母鸡、小鸡多少只?

class Test2{
    public static void main(String[] args){
        
        for(int x=0;x<=33;x++){
            for(int y=0;y<=50;y++){
                if((3*x+2*y+(100-x-y)/3==100)&&((100-x-y)%3==0)){
                System.out.println("公鸡:"+x+"只,母鸡:"+y+"只,小鸡:"+(100-x-y)+"只");
                }
            }    
        }    
    }
}

输出99 乘法表

class Test2{
    
    public static void main(String[] args){
        for(int i=1;i<=9;i++){// 1 1 1*1=1  2  1 2*1=2  2*2
            for(int j=1;j<=i;j++){
                System.out.print(i+"*"+j+"="+i*j+" ");
            }System.out.println(" ");
         }
     }
   }

录入一个小于10 的整数n,输出它的阶乘n!

import java.util.Scanner;
class Test2{
    
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int sum=1;
            for(int x =a;x>0;x--){
                    sum=sum*x;
            }
                     System.out.println(sum);
     }    
}



这篇关于第一周练习的程序代码和问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程