The program is to input an integer, whose scope is [-100000, 100000], then, printing out every digit of this integer in Chinese PinYin.
For instance, if the input is 1234, then the output should be as following:
yi er san si
Note that there is a space between the Pinyin of every two digits, but there is no space behind the last digit. When encountering a negative number, add the "fu" at the beginning of the output. For example, -2341 should be output as:
fu er san si yi
Have you had a try?Here is my program.
//Spelling An Integer In Chinese PinYin
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int number = in.nextInt(), digit = 0;
if (number>=-100000&&number<=100000)
{
if (number == 0)
System.out.print("ling");
else
{
if (number < 0)
{
System.out.print("fu ");
number = -number;
}
int temp = number;
while (temp > 0)
{
temp = temp/10;
digit++;
}
do
{
switch (number/(int)(Math.pow(10, digit-1)))
{
case 0: System.out.print("ling");
break;
case 1: System.out.print("yi");
break;
case 2: System.out.print("er");
break;
case 3: System.out.print("san");
break;
case 4: System.out.print("si");
break;
case 5: System.out.print("wu");
break;
case 6: System.out.print("liu");
break;
case 7: System.out.print("qi");
break;
case 8: System.out.print("ba");
break;
case 9: System.out.print("jiu");
}
if (digit > 1)
System.out.print(" ");
number -= number/(int)(Math.pow(10, digit-1))*(int)(Math.pow(10, digit-1));
digit--;
} while (digit > 0);
}
}
}
}
Saturday, April 16, 2016
Java Program: Sum of Primes
We think that 2 is the first prime, 3 is the second prime, 5 is the third prime, and so on.
Now, two integers n and m are given, 0<n<=m<=200. The program is to calculate the sum of n-th to m-th primes, including the n-th and the m-th prime.
Pay attention that it is to calculate the sum of n-th to m-th primes, but not the primes between n and m.
The program is following.
//Sum of Primes
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt(), m = in.nextInt(), count = 0, number = 2, sum = 0;
while (count < m)
{
boolean IsPrime = true;
for (int i=2;i<number;i++)
{
if (number%i==0)
{
IsPrime = false;
break;
}
}
if (IsPrime)
{
count++;
if (count>=n)
sum += number;
}
number++;
}
System.out.println(sum);
}
}
Now, two integers n and m are given, 0<n<=m<=200. The program is to calculate the sum of n-th to m-th primes, including the n-th and the m-th prime.
Pay attention that it is to calculate the sum of n-th to m-th primes, but not the primes between n and m.
The program is following.
//Sum of Primes
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt(), m = in.nextInt(), count = 0, number = 2, sum = 0;
while (count < m)
{
boolean IsPrime = true;
for (int i=2;i<number;i++)
{
if (number%i==0)
{
IsPrime = false;
break;
}
}
if (IsPrime)
{
count++;
if (count>=n)
sum += number;
}
number++;
}
System.out.println(sum);
}
}
Subscribe to:
Posts (Atom)