日期:2014-05-20  浏览次数:20652 次

一个初级java问题
import java.util.Scanner;
/**
例如:若用户输入27 C则程序输出 81 F;若用户输入96 F,
则程序输出36 C(其中C代表摄氏温度,F代表华氏温度),
华氏温度与摄氏温度转化的公式为:
C = 5 (F - 32) / 9
F = 9 C / 5 + 32
*/
public class Temp{
public static void main(String[]args){
int cTemp;
int fTemp;
char c;
System.out.print("请用户输入温度,格式如:36 C,或:81 F:");
Scanner s = new Scanner(System.in);
int t = s.nextInt();
c = s.next().charAt(0);
//System.out.println(c);
if(c=='C'){
cTemp = t;
fTemp = (int)(9*cTemp*1.0/5 + 32);
System.out.println(cTemp+" C="+fTemp+" F");
}else{
fTemp = t;
cTemp = (int)(5*(fTemp-32)*1.0/9);
System.out.println(fTemp+" F="+cTemp+" C");
}
}
}


在上面程序中,c=s.nextInt()中的nextInt()方法是如何调用的? 另外,c=s.next().charAt(0);charAt(0)是表示什么意思?尤其是对charAt这个方法不懂, 本人是菜鸟,请各位大牛指点

------解决方案--------------------
"c=s.nextInt()中的nextInt()方法是如何调用的?" (应是t=s.nextInt())
 nextInt()是类Scanner的方法,其对象s可以使用。典型的面向对象的用法。
(深层执行过程不清楚,刚学的话也别去死扣了。)想了解的时候去查查java 的api.

c=s.next().charAt(0);
next()是Scanner的方法,“查找并返回来自此扫描器的下一个完整标记” 返回String对象。
s.next()返回的是String对象,charAt(0)是string类的方法,查下api

“charAt(int index)”  
返回指定索引处的 char 值。
------解决方案--------------------
nextInt()将输入信息的下一个标记扫描为一个 int

next()查找并返回来自此扫描器的下一个完整标记

charAt()返回指定索引处的 char 值