TimeZone timeZone = TimeZone.getTimeZone("Asia/Calcutta");
int offset1 = timeZone.getRawOffset();
System.out.println("offset = "+ offset);
int offsetHrs = offset / 1000 / 60 / 60;
int offsetMins = offset / 1000 / 60 % 60;
System.out.println("offsetHrs="+ offsetHrs);
System.out.println("offsetMins="+ offsetMins);
GMTOffset = offsetHrs + ":" + offsetMins;
System.out.println("GMTOffset = " + utzOffset);
Run Code Online (Sandbox Code Playgroud)
输出将是
offset = 19800000
offsetHrs = 5
offsetMins = 30
GMT偏移= 5:30
我在ms sql server中使用此偏移值来转换时区.sql server将采用以下格式
(+/-)HH:MM
Run Code Online (Sandbox Code Playgroud)
我的结果是5:30,但是它给出了一个无效的时区错误,它应该是+5:30.
在另一个案例中
TimeZone timeZone = TimeZone.getTimeZone("Etc/GMT");
在这种情况下,偏移量将为"0"
但ms sql只需要+00:00或-00:00(+/-符号必须)
任何人都可以帮助我如何格式化(+/-)HH:MM 格式的偏移量 .
因为你不能设置最终变量的值(我假设)像数组的长度.
Object[] items = new Object[10];
//Not allowed
Object.length = 3;
Run Code Online (Sandbox Code Playgroud)
可以将它用作类中的只读字段.
在某个索引中拆分字符串数组以使字符串矩阵删除您拆分的元素的最佳方法是什么.例如,对于字符串数组,["Good","Bad","Sad"]如果我将其拆分为1,它将给我一个看起来像这样的字符串矩阵[["Good"],["Sad"]]
我正在将时间戳从"1999-02-18 11:30:00.0"转换为"1999-02-18 11:30:00".好吧,够简单.所以我使用以下内容:
newForm = new SimpleDateFormat('yyyy-mm-dd hh:mm:ss').format(oldForm)
println oldForm
println newForm
Run Code Online (Sandbox Code Playgroud)
但是,打印输出显示时间戳的值已更改.
oldForm 1999-02-18 11:30:00.0
newForm 1999-30-18 11:30:00
Run Code Online (Sandbox Code Playgroud)
这真让我发疯.这是一个错误还是什么?还有其他办法吗?我真的不想做字符串修剪
当我调试我的应用程序时,我在LogCat中遇到错误,如下所示:
E/AndroidRuntime(27367): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.****/com.****}: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
有没有办法知道异常来自代码的确切位置?什么是这个NULL?
在许多其他语言中,当您遇到此类问题时,它会告诉您文件和行所在的位置
有没有办法在java和android sdk中获取它?
我创建了A类的Object,那时java占用了A类的内存.但是当我在A类的对象中分配null时,它可以释放该对象的内存
class A{
public long num = 28115733;
}
Run Code Online (Sandbox Code Playgroud) 我的任务是在Java程序上制作"Yahtzee"游戏.除了Small Straight方法,我差不多完成了.(无法弄清楚.)
小直是当骰子得到4连续数.(例如,12334,23345,34556等)
这是我的isSmallStraight方法的代码(此代码未完成!):
public static boolean isSmallStraight(List<Die> dice) {
boolean result = false;
List<Die> copy = new ArrayList<Die>(dice);
Collections.sort(copy);
List<Die> testCase1 = new ArrayList<Die>();
testCase1.add(new Die(1));
testCase1.add(new Die(2));
testCase1.add(new Die(3));
if(copy.containsAll(testCase1)) {
result = true;
System.out.println(result);
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我想在这里做的是从主方法(List dice)传递5个随机数的骰子并将它们放入"复制"对象中.由于我需要使用java.util.List.containsAll()方法(要求),我想我需要将另一个对象"testCase1"与"copy"进行比较.(如果你有其他方法来解决这个问题,至少你使用java.util.containsAll()方法就好了.)
但是,我现在不知道的是,如果我使用dice.add(new Die(3)),它意味着程序从1,2和3中选择随机数.(不会死3) - 而且,它给了我编译时错误.
所以,我想知道如何为"testCase2"存储骰子特定数字1,2,3和4,为"testCase2"存储2,3,4和5,为" testCase3"并使用copy.containsAll(testCase1)变为true.
请尽快帮助我!
PS.模特班已经由我的教授编程.(所以,不能改变Die类中的任何一个).