问题描述——输入A、B,输出A+B
输入格式——输入的第一行包括两个整数,由空格分隔,分别表示A、B。
输出格式——输出一行,包括一个整数,表示A+B的值
import java.util.*;
public class Main
{
public static void main(String args[])//public”表示程序的访问权限,static表示方法是静态的,void main()不返回值的
{
Scanner sc = new Scanner(System.in);//实例化Scanner 对象sc,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。
int a = sc.nextInt();//接收键盘输入的信息
int b = sc.nextInt();
System.out.println(a+b);
}
}
2.问题描述——给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式——
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000
输出格式——
输出一行,按从小到大的顺序输出排序后的数列
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = sc.nextLine();
int[] count = new int[26];
/*创建一个长度为26 的int数组用来记录26个字母出现的次数
*数组定义方式:
*静态初始化 double[] hens = {1, 2, 3, 4,…};
*动态初始化 int[] a = new int[6];
*还可先声明再创建: int[] a; a = new int[10];
*/
for (int i = 0; i < str.length(); i++) {
count[str.charAt(i) - 'a']++;//求这些字母与a的相对位置,count数组的第x个元素+1,计数
}
char ch='a';//把ch的值初始化为a的ascii码值
int max=0;//将最大次数初始值设为0
for(int i=0;i<26;i++) {
if(count[i]>max) {
max=count[i];
ch=(char)('a'+i);
}//因为是从前往后 所以相等时 无需考虑
}
System.out.println(ch);
System.out.println(max);
}
}
字母统计
s.charAt(i) - 'a',求字母的ascii码之间的差值。
小写字母ascii码范围:a-z:97-122。
count[s.charAt(i) - 'a']++:求的是字符串中对应字母的个数。这个字母的位置是在count数组里面是有序的。