1. 输入数据
1.1 如何处理逗号分割的数据
java似乎并不能将逗号作为一行的数据的分割符号,比如当执行如下的代码时:
Scanner cin = new Scanner(System.in);
int a=cin.nextInt();
int b=cin.nextInt();
System.out.print(a+" "+b);
如果在输入a,b
的时候,就会报错,显示InputMismatchException,这是显示输入了其他类型的数据。
所以当题目输入的数据是一行整数(其他也可类似处理),中间以逗号分割的时候,我们想用数组存储下来这行整数,应该通过String的split()
方法。
其可以通过传入相应的字符的方式,完成对字符串的分割,将分割的结果传入字符串数组中,如下:
public static void main(String[] arg){
Scanner cin = new Scanner(System.in);
String s = cin.nextLine() ;
String[] nums = s.split(",") ;
for (String num : nums) {
System.out.println(Integer.parseInt(num));
}
}
当输入为:1,2,3,4,5
时,对应输出为:
split函数更多用法可参见:https://www.cnblogs.com/xiaoxiaohui2015/p/5838674.html
1.2 public类的更改
因为java的所有方法变量都是写在类中,所以提交中为了方便,你需要将代码中的public class
的名字改成Main。
1.3 Import
当使用系统自带的包的时候,必须在程序最前面做出对应的引入,如果是在编译器中打出来的代码,在复制的时候要记住将Import的内容一并复制提交。
比如当使用Scanner时,应该引入:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
//其他代码
}
}
2. 输出数据
2.1 保留有效数字(注意四舍五入)
这里推荐使用Math带的round函数,其会对传进来的浮点数转换成其距离最近的整数,比如3.1415,则会输出:3。示例代码如下:
public static void main(String[] arg){
double a=132.4523523;
System.out.println(Math.round(a));//保留到整数
System.out.println(Math.round(a*10)/10.0);//保留一位小数
System.out.print(Math.round(a*100)/100.0);//保留两位小数
}
对应输出分别为:
132
132.5
132.45
更多方法可参见:https://www.cnblogs.com/hoojo/p/java_round_format_bigdecimal_decimalformat.html
2.2 擦除输出
比如一行输出,每一个字符都有一个空格,但希望最后一个字符后面没有空格,这里是不能将已经输出出来的空格擦出的(似乎可以在cmd中实现)或者说就算能,成本也不低,推荐还是利用if-else
判断来进行输出。