牛客刷题笔记-编程初学者入门训练(简单篇2)

BC13-ASCII码

public class Main{
    
    
    public static void main(String[] args){
    
    
        int num[] = {
    
    73,32,99,97,110,32,100,111,32,105,116,33};
        for(int i=0;i<12;i++){
    
    
            System.out.print((char)num[i]);
        }
    }
}

字符和ASCII码相互转换可以用(int)c;(char)i强制转化

BC14-出生日期输入输出

import java.util.Scanner;
public class Main{
    
    
    public  static void main(String[] args){
    
    
        Scanner in = new Scanner(System.in);
        String str = in.next();
        System.out.println("year="+str.substring(0,4));
        System.out.println("month="+str.substring(4,6));
        System.out.println("date="+str.substring(6,8));
    }
}

substring() 方法返回字符串的子字符串。

语法:public String substring(int beginIndex)或public String substring(int beginIndex, int endIndex)
参数:beginIndex – 起始索引(包括), 索引从 0 开始。endIndex – 结束索引(不包括)。

返回值:子字符串。

在这里插入图片描述

另外:str.toCharArray() 将String对象的每一个下标位的对象保存在char[]中

BC26-计算三角形周长面积

import java.util.Scanner;
import java.text.DecimalFormat;
import java.lang.Math;
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();
        int c = in.nextInt();
        int length = (a+b+c);
        double p = (double)length/2;
        double temp = p*(p-a)*(p-b)*(p-c);
        double area = Math.sqrt(temp);
        System.out.printf("circumference="+new DecimalFormat("0.00").format(length)+" area="+new DecimalFormat("0.00").format(area));
    }
}

三角形已知三边面积公式:S=√[p(p-a)(p-b)(p-c)] 公式里的p为半周长

java中实现开根号运算的函数:Math.sqrt(n)

BC29-2的n次方运算(移位运算)

import java.util.Scanner;
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
    
    
            int n = in.nextInt();
            int result = 1 << n;
            System.out.println(result);
        }
    }
}

java中有三种移位运算符

<< : 左移运算符,num << 1,相当于num乘以2

>> : 右移运算符,num >> 1,相当于num除以2

>>> : 无符号右移,忽略符号位,空位都以0补齐

形式:value op num,num 指定要移位值,op运算符,value 移动的位数

BC55-简单计算器

import java.util.Scanner;
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner in = new Scanner(System.in);
        double a,b;
        String str;
        while(in.hasNext()){
    
    
            str = in.nextLine();
            String[] s = str.split("[^(0-9|.)]");
            a = Double.parseDouble(s[0]);
            b = Double.parseDouble(s[1]);
            if(str.indexOf("+")!=-1){
    
    
                System.out.printf("%.4f"+"+"+"%.4f=%.4f",a,b,a+b);
                System.out.println("");
            }
            else if(str.indexOf("-")!=-1){
    
    
                System.out.printf("%.4f"+"-"+"%.4f=%.4f",a,b,a-b);
                System.out.println("");
            }
            else if(str.indexOf("*")!=-1){
    
    
                System.out.printf("%.4f"+"*"+"%.4f=%.4f",a,b,a*b);
                System.out.println("");
            }
            else if(str.indexOf("/")!=-1){
    
    
                if(b==0) System.out.println("Wrong!Division by zero!");
                else{
    
    
                    System.out.printf("%.4f"+"/"+"%.4f=%.4f",a,b,a/b);
                    System.out.println("");
                }
            }
            else System.out.println("Invalid operation!");
        }
    }
}
  1. java.lang.String.indexOf() 的用途是在一个字符串中寻找一个字的位置,同时也可以判断一个字符串中是否包含某个字符。indexOf的返回值为int,不存在返回-1
  2. Double.parseDouble(s) / Float.parseFloat(s) 浮点数字符串转浮点数
  3. 在这里插入图片描述

其他

import java.util.Scanner;
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();
        System.out.println((a>b)?"A":"B");
    }
}

条件运算符:优先级高于赋值、逗号运算符,低于其他运算符。

形式:关系表达式 ? 表达式1 : 表达式2

求值规则:求解关系表达式,根据关系表达式的布尔值决定取值:关系表达式的值为true时取表达式1的值;关系表达式的值为false时取表达式2的值。

右结合性:当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。如果在问号和冒号之间还有一个问号或者冒号,应该满足就近配对,使结构不发生紊乱。

猜你喜欢

转载自blog.csdn.net/qq_41536271/article/details/112132869