저는 프로그래밍에 익숙하지 않아 재미를 위해서 기본적인 두더지 (화학) 계산기를 만들려고했습니다. 나는이 질문을 찾지 못했다. 대답이 나에게 링크를 보내주십시오. 여기서 n = N/Na
n = mole
Na = 6.022E23
와(6.022/6.022 = 1000)을 나눌 때 1 대신 대답으로 1000을 얻으십시오. Java
코드의 첫 번째 부분은 에러가 발생 :
이
수식이다. 단지 하나를 얻으려고 노력하면서, 주어진 N으로 Na를 나누었고, 6.022E23 대신에 6.022로도 대답으로 1000.0을 얻었습니다.Scanner in = new Scanner(System.in);
double Na = 6.022;
System.out.print("What do you want to know? Mol(0) or N(1)? ");
int first = in.nextInt();
if (first == 0){
System.out.print("Insert N: ");
double N = in.nextDouble();
double mol = N/Na;
System.out.print("There are " + mol + " mol in that sample.");
}
else if (first == 1){
System.out.print("Insert mol: ");
double mol = in.nextDouble();
double N = mol*Na;
System.out.print("There are " + N + " molecules, atoms or ions in that sample.");
}
출력 0 :
What do you want to know? Mol(0) or N(1)? 0
Insert N: 6.022
There are 1000.0 mol in that sample.
출력 1 : 사전에
What do you want to know? Mol(0) or N(1)? 1
Insert mol: 1
There are 6.022 molecules, atoms or ions in that sample.
감사합니다.
double mol = N/6.022;
이 당신이 원하는 무엇을 제공 :
'Locale'문제처럼 보입니다. 어떤 로케일을 사용하고 있습니까? – Keppil
@Keppil 그것이 내가 기대할 것입니다. 미국 시스템에서 점은 십진수 점이 아닌 수천 개의 구분 기호로 해석됩니다. –
@Keppil 잘 모르겠습니다. 이 말을 처음 듣다 보니 그 말을 결코 들어 보지 못했습니다. 나는 당신이 지금 무슨 뜻인지 이해하고 있다고 생각합니다. 아니, 그게 문제가 아니야. 점과 쉼표로 모두 작업 할 수 있습니다. 하지만 1000은 1이 아닙니다. – EnderEgg