java.util.Scanner读取换行符问题

java.util.Scanner读取换行符问题

昨天笔试贝壳,有一道题第一行输入一个数字,下面几行是字符串
eg: 3
abc
abc
abc
abc
当时我读取完第一个数字后就将字符串赋值为sc.nextLine()了,然而读到的字符串是空的
原因是sc.nextLine()读到的是换行符,因此我们需要手动sc.nextLine()去掉这个换行符!!!!
唉!笔试基本挂了。
笔试题

  • 第一题:给定一个字符串,拆分为数量任意的子串,其中子串中字母若为偶数则 val+1 若为奇数则 val-1,求val 最大值 eg: “ababcac” 拆分为 abab 和 cac 则 abab的分值为2 cac的分值为0,字符串“”ababcac“”的val最大值为2+0 = 2 可以分成任意多组,而且每组字符数量也不限
  • 第二题: 简单dp,给一个区间,在区间内找到满足 X=X1X2…Xn (X1+X2+…+Xn)% 11 = 1条件的数量,例如66满足,因为(6 + 6) % 11 = 1
  • 第三题:给定一个矩阵,给定一个target串,看target出现在矩阵几次,要求必须竖着或横着
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是一个简单的Java程序,用于打印出一个带有空格的字符图案。下面对代码进行解释: 1. `import java.io.*;` 和 `import java.util.*;` 这两行代码导入了Java的输入输出和工具类库。 2. `import java.util.Scanner;` 这行代码导入了Scanner类,用于接收用户的输入。 3. `public class demo { ... }` 这是定义了一个名为demo的公共类。 4. `public static void main(String[] args) { ... }` 这是定义了一个名为main的公共静态方法,是程序的入口点。 5. `Scanner sc = new Scanner(System.in);` 这行代码创建了一个Scanner对象sc,用于接收从标准输入读取的数据。 6. `int a = sc.nextInt();` 这行代码使用nextInt()方法从用户输入中读取一个整数,并将其赋值给变量a。 7. `for(int i = 1; i < 7; i += 2) { ... }` 这是一个外层循环,用于控制字符图案的行数。循环条件是i小于7,并且每次循环加2。 8. `for(int j = 1; j <= (7 - i) / 2; j++) { ... }` 这是一个内层循环,用于打印每行的空格。循环次数是(7 - i) / 2,即每行前面的空格数。 9. `System.out.print(" ");` 这行代码打印一个空格。 10. `for(int j = 1; j <= i; j++) { ... }` 这是另一个内层循环,用于打印每行的字符。循环次数是i,即每行的字符数。 11. `System.out.print(a);` 这行代码打印字符a。 12. `System.out.println();` 这行代码打印一个换行符,用于换行。 这样,根据用户输入的整数a,程序将打印出一个带有空格的字符图案。图案的行数为6,每行字符的数量依次为1、3、5、7、9、11,字符为用户输入的整数a。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值