Java学习第三十三天

一、今天干了什么

继续使用Java写PTA

二、遇到的问题

1.输入一个char型字符的问题

以PTA 7-12 两个数的简单计算器问题为例

需要输入“加减乘除”运算符,这里输入方法是:第一个数字+空格+运算符+第二个数字,在这里我是这么解决的:调取变量str的charAt(0)方法获取第一个字符

Scanner sc = new Scanner(System.in);
String str = sc.next();
char point = str.charAt(0);

2.输出格式的控制:

使用System.out.printf()

附学习链接:https://blog.csdn.net/quhongjuan12/article/details/79781101

 3.关于获取字符数组长度和字符串长度这码事

数组用 length,字符串用 length 跟上小括号

附链接:https://www.cnblogs.com/qing-gee/p/12090216.html

4.比较两个字符串的大小:

String.compareTo

详细使用方法如 PTA 7-30 字符串的冒泡排序

  • 如果参数字符串等于此字符串,则返回值 0;
  • 如果此字符串小于字符串参数,则返回一个小于 0 的值;
  • 如果此字符串大于字符串参数,则返回一个大于 0 的值。
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int K = sc.nextInt();
        String[] str = new String[100];
        for(int i = 0;i < N;i++)
        {
            str[i] = sc.next();
        }
        for(int i = 0;i < K;i++)
        {
            for(int j = 0; j < N - i - 1;j++)
            {
                if(str[j].compareTo(str[j + 1]) > 0)
                {
                    String temp = str[j];
                    str[j] = str[j + 1];
                    str[j + 1] = temp;
                }
            }
        }
        for(int i = 0;i < N - 1;i++)
        {
            System.out.print(str[i] + "\n");
        }
        System.out.print(str[N - 1]);
    }
}

5.字符串循环左移的输出问题:

两种输出方法

(1)使用str.substring()方法来输出字符串中的一部分

public String substring(int beginIndex)

public String substring(int beginIndex, int endIndex)

beginIndex -- 起始索引(包括), 索引从 0 开始。

endIndex -- 结束索引(不包括)。

(2)使用str.charAt(i),通过循环来逐个输出字符串str在i位置的各个数据

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String str=sc.nextLine();
        int a=str.length();
        int b=sc.nextInt();
        b%=a;
        for(int i=b;i<str.length();i++){
            System.out.print(str.charAt(i));
        }
        for(int i=0;i<b;i++){
            System.out.print(str.charAt(i));
        }
    }
}

 

posted @ 2021-08-17 09:58  闫闫不是那个严  阅读(38)  评论(0编辑  收藏  举报