package com.github.sevntu.checkstyle.checks.coding; public class InputNumericLiteralNeedsUnderscoreCheck { public void goodNumericLiterals() { int goodInt1 = 1234; int goodInt2 = 1_234_567; int goodInt3 = -1_234_567; int goodInt4 = -123_456_7; long goodLong1 = 1234L; long goodLong2 = 123_456_789_012_3L; long goodLong3 = 1234l; long goodLong4 = 123456l; float goodFloat1 = 1.234f; float goodFloat2 = 123456.123456f; float goodFloat3 = 123_456.789f; double goodDouble1 = 1.234; double goodDouble2 = 1.234d; double goodDouble3 = 123_456.789; double goodDouble4 = 123_456.789d; double goodDouble5 = -123_456.789; double goodDouble6 = -123_456.789d; double goodDouble7 = -123_456.123456D; } public void badNumericLiterals() { int badInt = 1234567; long badLong1 = 1234567L; long badLong2 = 1234567l; float badFloat = 1234567.89f; double badDouble = 1.23456789; if (badInt > 100000000) { badFloat -= 1.2345678f; } } public void scientificNotation() { float fgood1 = 123.456e2f; float fgood2 = 123_4.123_456_7e2f; float fgood3 = 123.456E2F; float fgood4 = 123_4.123_456_7E2F; double dgood1 = 123.456e2; double dgood2 = 123.456e2d; double dgood3 = 1234.123_456_7e2; double dgood4 = 1234.123_456_7e2d; double dgood5 = 1234.123_456_7e2D; } public void badScientificNotation() { float fbad1 = 1.2345678e2f; float fbad2 = 123_4.12_3456_7e2f; float fbad3 = 123.4567890E2F; double dbad1 = 123.1234567e2; double dbad2 = 1234567.56e1d; double dbad3 = 1234.12_3456_7e2; double dbad4 = 1234.12_3456_7e2d; double dbad5 = 1234.12_3456_7e2D; } public void goodHexLiterals() { int goodInt1 = 0xFF; int goodInt2 = 0xFFFF_FFFF; int goodInt3 = 0x1e3f; long goodLong1 = 0x0000L; long goodLong2 = 0xFFFF_FFFFL; long goodLong3 = 0xffff_ffffl; float goodFloat1 = 0xAAAA.BBBBp1f; float goodFloat2 = 0x12_345.6p-7F; double goodDouble1 = 0x1234.FFFFp7; double goodDouble2 = 0xCA_FE_DEED.DEAD_BEEFp0d; double goodDouble3 = 0x1.1234p0d; } public void badHexLiterals() { int badInt1 = 0x11111111; int badInt2 = 0xFFFEFFFE; int badInt3 = 0xfffefffe; int badInt4 = 0xFFFFF; int badInt5 = 0xFFFFD; long badLong1 = 0x0000FFFFL; long badLong2 = 0x0e0eFfFfl; float badFloat1 = 0x12345.6p-7F; float badFloat2 = 0x1.12345p2f; double badDouble1 = 0x12345.6p2; double badDouble2 = 0x1.12345p2d; } public void goodBinaryLiterals() { int goodInt1 = 0b00001111; int goodInt2 = 0b00001111_00001111; int goodInt3 = 0b0_00011110_000111_1; long goodLong1 = 0b00001111L; long goodLong2 = 0b00001111_00001111L; long goodLong3 = 0b00001111_00001111l; long goodLong4 = 0b00001111l; } public void badBinaryLiterals() { int badInt1 = 0b000011110; int badInt2 = 0b0000111_100001111; long badLong1 = 0b000011110L; long badLong2 = 0b00001111_00001111_000011111_0001111L; long badLong3 = 0b000011111l; long badLong4 = 0b00001111_00001111_000011111_0001111l; } }