hdoj 1753 (Java)

简介: 刚刚开始用Java,代码难免不够简洁。

刚刚开始用Java,代码难免不够简洁。

1.import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
  public static void main(String[] args) {
    Scanner cin = new Scanner(System.in);
    while (cin.hasNext()) {
      BigDecimal a = cin.nextBigDecimal();
      BigDecimal b = cin.nextBigDecimal();
      a = a.add(b);
      if (a.compareTo(BigDecimal.valueOf(0.0)) == 0) {
        System.out.println(0);
        continue;
      }
      String out = new String(a.toPlainString());
      int l = out.length();
      boolean flag = false;
      for (int i = 0; i < l; i++)
        if (out.charAt(i) == '.')
          flag = true;
      int q = l - 1;
      while (out.charAt(q) == '0')
        q--;
      if (out.charAt(q) == '.')
        q--;
      if (flag == false && out.charAt(q) != '.')
        q = l-1;
      int p = 0;
      while (out.charAt(p) == '0')
        p++;
      if (out.charAt(p) == '.')
        System.out.print(0);
      for (int i = p; i <= q; i++)
        System.out.print(out.charAt(i));
      System.out.println();
    }
    cin.close();
  }
}
目录
相关文章
|
Java
HDOJ/HDU 2203 亲和串(简单的判断~Java的indexOf()方法秒)
HDOJ/HDU 2203 亲和串(简单的判断~Java的indexOf()方法秒)
111 0
|
Java
HDOJ(HDU) 2192 MagicBuilding(用Java的Map做了下)
HDOJ(HDU) 2192 MagicBuilding(用Java的Map做了下)
170 0
|
机器学习/深度学习 Java C语言
HDOJ(HDU) 2137 circumgyrate the string(此题用Java-AC不过!坑)
HDOJ(HDU) 2137 circumgyrate the string(此题用Java-AC不过!坑)
109 0
|
Java
HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
97 0
|
Java
HDOJ 1042 N!(大数阶乘JAVA)
HDOJ 1042 N!(大数阶乘JAVA)
116 0
|
Java
HDOJ/HDU 2203 亲和串(简单的判断~Java的indexOf()方法秒)
Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于助人的你来解决这个问题。
1064 0
|
Java
HDOJ(HDU) 2192 MagicBuilding(用Java的Map做了下)
Problem Description As the increase of population, the living space for people is becoming smaller and smaller.
798 0
|
Java
HDOJ 1042 N!(大数阶乘JAVA)
Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input One N in one line, process to the end of file.
1023 0
|
10天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者
|
12天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。