提取给定年份的最后两位数的Java程序
顾名思义,在需要执行处理数字数字的操作时,模运算符起着至关重要的作用。这里的目标是提取数字的最后一位数字。因此,如果目标是从数字中提取最后一位数字,那么让问题更容易思考怎么办。在这种情况下,数字代表年份。提取最后一位所涉及的数学概念是将给定数除以一个数,余数应与最后一位数相同。为了提取给定数字必须除以的最后一位数字必须是 10。
Modulo is represented by ‘%’ and is used to get the remainder
示例:从数字中提取最后一位数字
Random Number = 1997
Last Digit = 7
Goal: 1997 % (x) = 7 // Goal is Divide 1997 by x such that remainder is 7
if x = 10 // 1997 % 10 = 7 that is the last digit
现在,为了提取最后两位数字,我们将使用相同的方法处理数字,只是根据数学单位标准,将给定的数字以 100 为模。
示例:从数字中提取最后两位数
Input : year = 2020
Output : 20
Input : year = 1983
Output : 83
Input : year = 2000
Output : 00
我们可以使用两种不同的方法来实现:
- 使用模算术运算符
- 使用 String substring() 方法
A. 使用模算术运算符:我们可以使用模运算符(%) 通过将年份的模数乘以 100 来提取最后两位数字。
数学单元系统的内部工作原理
Let us consider 1983, we can write it as
1983 = 1*1000 + 9*100 + 8*10 + 3
So when we take modulo by 100, we will just have the last two digits as remainder.
1983 % 100 = 1*1000 % 100 + 9*100 % 100 + 8*10 % 100 + 3 % 100 = 0 + 0 + 8*10 + 3 = 83
上述方法的实现描述如下
Java
// Java code to extract last two digits of a year
// Importing Classes/Files
import java.util.*;
public class GFG {
// Main Driver Code
public static void main(String args[])
{
// Initializing year as String
int year = 1983;
// Printing last two digits of a number
// by modulo with 100
System.out.print(year % 100);
}
}
Java
// Java code to extract last two digits of a year
public class GFG {
// Function to extract last to digits of a year
static int extractLastTwo(String year)
{
// using substring() to extract the last two digit
// as substring
String lastTwoDigits = year.substring(2);
return Integer.parseInt(
lastTwoDigits); // Returning last two digits as
// an integer
}
public static void main(String args[])
{
// Initializing year as String
String year = "1983";
System.out.print(extractLastTwo(year));
}
}
输出
83
B. 使用String substring() 方法:此方法返回一个新字符串,它是给定字符串的子字符串。因此,要提取最后两位数字,我们需要获取索引 2 之后的子字符串。
Java
// Java code to extract last two digits of a year
public class GFG {
// Function to extract last to digits of a year
static int extractLastTwo(String year)
{
// using substring() to extract the last two digit
// as substring
String lastTwoDigits = year.substring(2);
return Integer.parseInt(
lastTwoDigits); // Returning last two digits as
// an integer
}
public static void main(String args[])
{
// Initializing year as String
String year = "1983";
System.out.print(extractLastTwo(year));
}
}
输出
83